C# 当在IIS6中启用通配符映射时,WCF方法返回404

C# 当在IIS6中启用通配符映射时,WCF方法返回404,c#,asp.net,wcf,wildcard-mapping,C#,Asp.net,Wcf,Wildcard Mapping,我有一个REST WCF服务,定义如下: [ServiceContract] public interface IRest { [OperationContract] [WebGet(UriTemplate = "/test")] int Test(); } 使用以下web.config: <system.serviceModel> <behaviors> <endpointBehaviors> <beh

我有一个REST WCF服务,定义如下:

[ServiceContract]
public interface IRest {
    [OperationContract]
    [WebGet(UriTemplate = "/test")]
    int Test();
}
使用以下web.config:

<system.serviceModel>
  <behaviors>
    <endpointBehaviors>
      <behavior name="ServiceX.RestBehavior">
        <webHttp />
      </behavior>
    </endpointBehaviors>
    <serviceBehaviors>
      <behavior name="ServiceX.RestBehavior">
        <serviceMetadata httpGetEnabled="false" />
        <serviceDebug includeExceptionDetailInFaults="true" />
      </behavior>
    </serviceBehaviors>
  </behaviors>

  <serviceHostingEnvironment aspNetCompatibilityEnabled="false" />

  <services>
    <service behaviorConfiguration="ServiceX.RestBehavior"
      name="ServiceX.Rest">
      <endpoint address="" behaviorConfiguration="ServiceX.RestBehavior"
        binding="webHttpBinding" contract="ServiceX.IRest" />
    </service>
  </services>
</system.serviceModel>

没有通配符映射,所有工作正常;我可以浏览到“/services/rest.svc/test”,我将收到预期的结果

但是,一旦启用通配符映射(.*>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet\u isapi.dll),当我尝试访问一个方法时(尽管我仍然可以查看“/services/rest.svc”)

有什么想法吗?我已经用尽了谷歌和StackOverflow。似乎没有人分享这个问题:(


编辑:您可以通过在VS2008(新项目>WCF服务应用程序)中创建一个新的WCF服务来复制此内容。浏览到虚拟方法('GetData')…您会注意到它返回400…这很好,因为它显示它仍在转发到WCF。但是,如果您在IIS6中启用通配符映射,您现在将获得404,这意味着WCF不再拦截请求。

我刚刚在IIS6上运行WCF服务时遇到了同样的问题

我可以在上浏览该服务,但当在该服务上点击一个方法(如)时,我会得到一个404


在我的例子中,修复很简单。IIS中配置了.svc文件类型,由C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet\u isapi.dll处理,但我的服务是在ASP.NET v4.0应用池中运行的,因此我在弹出的d中简单地指出了由C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet\u isapi.dll处理的.svc文件类型在为通配符映射指定路径的对话框中,有一个名为“验证文件是否存在”的设置复选框。需要关闭此设置


如果未关闭,您将收到404(找不到页面)

我与共享主机提供商有相同的问题。本地所有运行正常,但一旦我上载,我只能访问服务信息页面(/services/servicename.svc)。您是否设法解决了此问题?能否提供有关在我的计算机上本地复制此内容的详细信息?