如何更改Web服务的逻辑URI?

时间:2010-07-08 15:48:25

标签: asp.net wcf iis

我在IIS7下运行WCF服务。可以在http://myserver.domain.com/myservice.svc

处访问它

我不想更改此文件的实际位置或名称,但我希望http://myserver.domain.com/this/here处理对http://myserver.domain.com/myservice.svc的调用

这可能吗?

1 个答案:

答案 0 :(得分:0)

是的 - 使用.NET 4你可以非常轻松 - 使用.NET 3.5,它可能,但更多的工作。

在.NET 4中,您可以使用无文件激活,它允许您在web.config中定义逻辑URL - 不再需要* .svc文件。但在这种情况下,您不能再使用带有* .svc文件的“旧”URL(因为不再有SVC文件)。

<configuration>
  <system.serviceModel>
    <serviceHostingEnvironment>
      <serviceActivations>
        <add relativeAddress="this/here" service="IYourService"/>
      </serviceActivations>
    </serviceHostingEnvironment>
  </system.serviceModel>
</configuration>

A Developer's Introduction to WCF 4

上阅读有关此内容和其他新WCF 4功能的所有内容

对于.NET 3.5,只有重写URL的方法 - 一种相当棘手的方式 - 在MSDN library中阅读更多关于它的信息,或者参阅Scott Guthrie的blog post