我正在尝试在Windows Server 2012 build 8400上的IIS8上运行WCF服务。

在安装web角色时,WCF的东西(在3.51之下)没有像Windows Server 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.

(我删除了静态文件处理程序。)

为了使用模拟,该站点正在使用经典的管道。


当前回答

打开下面的“打开或关闭Windows功能”

a) .Net Framework 3.5 - WCF HTTP激活和非HTTP激活

b)全部在WCF服务项下

其他回答

我不得不在。net Framework 4.5高级服务> WCF服务中启用HTTP激活

这对我来说真的很傻。在这里添加这个,因为它是svc 404问题上更受欢迎的线程之一。

我在我的项目设置的\ Web \项目URL,粘贴:

http://blah.webservice.local.blahblah.com/Blah.svc

由于一些未知的原因(已经这样做了1000次)没有立即发现.svc文件的名称在最后。

哎!

我刚刚从WCF测试客户端粘贴了这个地址,没有充分地检查它。这在后台所做的是在.svc地址创建一个IIS应用程序,我没有从IIS中得到任何东西。我不知道我怎么连。svc文件都打不到。

简单的修复,显然,只是在IIS中删除应用程序并更改项目URL。

在这一行干了将近20年之后,你仍然会犯小学生或新手犯的错误。希望这能帮助到一些人。

现在我更喜欢通过脚本来实现这一点

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功能”

a) .Net Framework 3.5 - WCF HTTP激活和非HTTP激活

b)全部在WCF服务项下

在Windows 8或Windows Server 2012上配置iis8时,安装顺序非常重要。

我在配置iis8时遇到了很多问题,但最终这些链接帮助了我

安装IIS 8 配置WCF