2011-03-06 233 views
1

我有一个WCF服务DLL,当我调试它会自动主办,这个自定义URL映射的工作原理:自我URL映射托管WCF服务

[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?

+0

您是如何配置服务主机的?添加你的system.servicModel配置部分和创建你的'ServiceHost'的代码。 – 2011-03-06 09:16:37

+0

标准的基本HTTP。没有模块部分允许在该部分... – 2011-03-06 12:28:37

回答