WCF HTTP错误404.17 - 未找到请求的内容似乎是脚本,静态文件处理程序不会提供

时间:2013-06-11 14:38:55

标签: wcf

我已经做了各种尝试来解决WCF的404.17问题,但没有一个工作

开发环境VS 2008 Team System,.NET Framework 3.5,OS Windows 7.0,IIS应用程序池v2.0 classic。

我安装了C:\ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \ ServiceModelReg

我使用

上的转动窗口功能启用了Windows通信HTTP激活

IIS中的处理程序映射

svc-ISAPI-2.0 * .svc启用未指定的IsapiModule继承 svc-ISAPI-4.0_32bit * .svc启用未指定的IsapiModule继承 svc-ISAPI-4.0_64bit * .svc启用未指定的IsapiModule继承

我无法将AppPool更改为集成模式因为没有经典模式应用程序无法运行,我有asmx webservices并且它们都可以访问。它的WCF引起了问题。任何人都可以帮我解决这个404.17问题

<system.serviceModel>
                         <behaviors>
                             <serviceBehaviors>
                                 <behavior name="Solution1.WebApp.CallMonitorServiceBehavior">
                                     <serviceMetadata httpGetEnabled="true" />
                                     <serviceDebug includeExceptionDetailInFaults="false" />
                                 </behavior>
                                 <behavior name="Solution1.WebApp.Service1Behavior">
                                     <serviceMetadata httpGetEnabled="true" />
                                     <serviceDebug includeExceptionDetailInFaults="false" />
                                 </behavior>
                             </serviceBehaviors>
                         </behaviors>
                         <services>
                             <service behaviorConfiguration="Solution1.WebApp.CallMonitorServiceBehavior"
                                 name="Solution1.WebApp.CallMonitorService">
                                 <endpoint address="" binding="wsHttpBinding" contract="Solution1.WebApp.ICallMonitorService">
                                     <identity>
                                         <dns value="localhost" />
                                     </identity>
                                 </endpoint>
                                 <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                             </service>
                             <service behaviorConfiguration="Solution1.WebApp.Service1Behavior"
                                 name="Solution1.WebApp.Service1">
                                 <endpoint address="" binding="wsHttpBinding" contract="Solution1.WebApp.IService1">
                                     <identity>
                                         <dns value="localhost" />
                                     </identity>
                                 </endpoint>
                                 <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                             </service>
                         </services>
                     </system.serviceModel>

2 个答案:

答案 0 :(得分:2)

尝试将WCF注册到IIS

Navigate to "C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation" and execute "servicemodelreg -i" to install them 

答案 1 :(得分:1)

尝试从Windows功能激活WCF服务。转到“控制面板\程序\程序和功能”,然后单击“打开或关闭Windows功能”并检查wcf服务,如附图所示。 enter image description here