自托管WCF服务的URL映射

时间:2011-03-06 01:18:59

标签: c# wcf config

我有一个WCF服务DLL,当我调试它时会自动托管并且这个自定义URL映射有效:

    [OperationContract]
    [WebInvoke(Method = "GET", UriTemplate = "widget/{myid}")]
    public Widget GetWidget(string myid) {...

我的配置文件有:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
  <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=c03f5f7f11d50a3b" />
  </modules>
  </system.webServer>

但是我想在我自己的服务中托管,所以我现在想,而是使用配置的system.serviceModel部分,因此我不能使用System.Web.Routing.UrlRoutingModule

我有自托管服务;但是,它会自动调用我的网址GetWidget而不是widget/{myid}。所以它没有使用我的WebInvoke属性。

如果我通过ServiceHost对象在我自己的Windows NT服务中手动托管我的WCF服务,我如何仍然支持具有相同类型映射的自定义URL?

1 个答案:

答案 0 :(得分:0)

问题是我需要指定webHttpBinding as per this answer的网页绑定。