在IIS8上的WCF; * .svc处理程序映射不起作用
我试图得到一个在2012年生成8400 IIS8运行的WCF服务。
在安装webangular色时,wcf的东西(在3.51下)不会像2008年那样。
当安装svc处理程序映射丢失,所以我做了一个:
%windir%\Microsoft.NET\Framework\v3.0\WindowsCommunication Foundation\ServiceModelReg.exe –i
现在处理程序映射在那里,但我仍然得到:
The resource you are looking for does not have a handler associated with it.
(我删除了静态文件处理程序。)
该网站正在使用经典的pipe道,以便使用模拟。
进一步来说:
- 运行
Server Manager
(在任务栏和开始菜单上) - select要pipe理的服务器(可能是本地服务器)
- 向下滚动到“
Roles and Features
”部分。 - 从任务下拉列表中select“
Add Role or Feature
” - 在“
Add Role or Feature Wizard
”对话框中,单击左侧页面列表中的“Features
”。 - 展开
".Net 3.5"
或".Net 4.5"
,具体取决于你已经安装。 (你可以回到“roles
”屏幕添加,如果你没有。 - 在“
WCF Services
”下,选中“HTTP-Activation
”框。 你也可以添加非httptypes,如果你知道你需要它们(tcp,命名pipe道等)。 - 点击
"Install"
button。
我必须在.NET Framework 4.5 Advanced Services
> WCF Services
启用HTTP Activation
在“打开或closuresWindowsfunction”中打开以下内容
a).Net Framework 3.5 – WCF HTTP激活和非Http激活
b)所有在WCF服务下
Windows 8与IIS8
- 点击
Windows+X
- select
Programs and Features
(列表上的第一项) - select
Turn Windows Features on or off
左侧的Turn Windows Features on or off
- 展开
.NET Framework 4.5 Advanced Services
- 展开
WCF Services
- 启用
HTTP Activation
我更喜欢现在通过脚本来做到这一点
REM install the needed Windows IIS features for WCF dism /Online /Enable-Feature /FeatureName:WAS-WindowsActivationService dism /Online /Enable-Feature /FeatureName:WAS-ProcessModel dism /Online /Enable-Feature /FeatureName:WAS-NetFxEnvironment dism /Online /Enable-Feature /FeatureName:WAS-ConfigurationAPI dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45 REM Feature Install Complete pause
我们设法解决了Windows Server 2012下的错误:
- 从“删除angular色和function向导”中删除.NET Framework 4.5function/ ASP.NET 4.5及其所有相关function
- 重新安装删除的function。
它接缝安装的顺序是原因。
另外,确保在WCF服务下安装了HTTP激活。
对于Windows 8计算机,没有“服务器pipe理器”应用程序(至less我无法find它)。
虽然我能解决这个问题 。 我不确定在哪个序列中我做了以下操作,但看起来像下面的一个/几个操作有帮助:
-
打开或closures以下function:a).Net Framework 3.5 – WCF HTTP激活和非Http激活b)所有在WCF服务下(在这个问题的答案中指定的)
-
在“%windir%\ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \”文件夹中执行“ServiceModelReg.exe -i”
-
注册的ASP.NET 2.0通过两个命令(在文件夹C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727):
aspnet_regiis -ga“NT AUTHORITY \ NETWORK SERVICE”aspnet_regiis -iru
-
重新启动的PC …它看起来像一个结果作为行动## 3和4在我的ASP.NETconfiguration中被破坏
-
重复操作#2
-
从“程序和function”安装两个其他选项:.Net Framework 4.5高级服务。 我检查了两个子选项:ASP.NET 4.5和WCF服务
-
重新启动应用程序池。
序列是疯狂的,但是这对我有帮助,可能会帮助其他
在Windows 8或Windows Server 2012上configurationIIS 8时,安装顺序非常重要。
我面对很多configurationIIS 8的问题,但最终这些链接帮助了我
- 安装IIS 8
- configurationWCF
使用PowerShell,您可以安装所需的function:
Add-WindowsFeature 'NET-HTTP-Activation'
它是.NET框架的HTTP激活functionWindows过程激活function也是必需的
在Windows 10(客户端),你也可以使用脚本
Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName WCF-HTTP-Activation45 -All
请注意,这是与服务器skus不同的命令
这对我来说真的很愚蠢。 在这里添加这个,因为它是svc 404问题上比较stream行的线程之一。
我在我的项目设置'\ Web \项目URL,粘贴:
http://blah.webservice.local.blahblah.com/Blah.svc
由于一些未知的原因(做了这一千次)没有立即发现.svc文件的名字是在最后。
DOH!
我刚刚从我的WCFtesting客户端粘贴了地址,并没有充分检查。 这在后台做了什么是在.svc地址创build一个IIS应用程序,我什么都没有得到IIS。 我无法解决如何甚至不能击中.svc文件。
简单的修复,显然,只需在IIS中删除应用程序,并更改项目的URL。
在这20年后,你仍然可以让男生错误/新秀错误。 希望这有助于某人。
- 我怎样才能手动创build一个身份validationcookie,而不是默认的方法?
- 有条件地隐藏GridView中的CommandField或ButtonField
- OWIN和Katana,为什么从服务器上分离应用程序?
- 内容处理:“内联”和“附件”之间有什么区别?
- ASP.Net MVCredirect到一个不同的视图
- WebForm_PostBackOptions文档
- 从HttpContext获取当前的System.Web.UI.Page?
- 在C#中确定会话variables的最佳方法是null或空?
- 无法加载文件或程序集“Microsoft.ReportViewer.Common,版本= 11.0.0.0