我最近创建了一个WCF服务,该服务在从Visual Studio 2008中进行测试时可以正常工作。但是,当我将项目部署到IIS并尝试从IIS访问.svc文件时,出现此错误:
"Server Error in '/' Application.The resource cannot be found. "
在过去的4天中,我一直遇到这个问题。
在IIS管理器的处理程序映射中,我可以看到.svc的两个条目:
svc-Integrated and svc-ISAPI-2.0
Answers:
您需要为SVC扩展添加到ASP.NET的映射。最简单的方法是ServiceModelReg.exe -i
从C:\ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation运行。如果尚未启用ASP.NET,则可能还需要启用它。
如果您使用的是Windows Server 2012或2016,请遵循以下说明:
dism /online /enable-feature /featurename:WCF-http-Activation45 /all
以及 dism /online /enable-feature /featurename:WCF-http-Activation /all
我看到您已经解决了您的问题-但为了后代:
我们有一个类似的问题,并且SVC处理程序已经正确安装。我们的问题是ExtensionlessUrl处理程序在请求到达SVC处理程序之前对其进行处理。
若要进行检查-在Web服务器级别的IIS管理器中的“处理程序映射”中,按顺序查看处理程序列表(这是右侧的选项)。如果各种ExtensionlessUrl处理程序出现在SVC处理程序上方,则重复将其向下移动直到它们位于底部。