在Window Service和IIS中托管时的端点地址

时间:2011-11-10 12:20:11

标签: wcf endpoint

我有一个名为MyService的服务,它实现了服务合同IMyService

当我在IIS中托管时,我添加了一个SVC文件和一个Web.config和 提供基地址为

  

http://localhost:49495/MyService.svc/

工作正常

现在我想在Windows服务中托管相同的服务,现在我很困惑应该在Windows服务的App配置的基地址中给出什么

我应该给出类名MyWindowService哪个实现ServiceHost

喜欢这个基地址: -

  

http://localhost:49496/MyWindowService/

1 个答案:

答案 0 :(得分:1)

基地址可以是任何东西。当您将其作为HTTP端点托管时,我只会使其与您的Web版本完全相同。配置的重要部分如下:

<service name="MyService"> <host> <baseAddresses> <add baseAddress="http://localhost:49495/MyService.svc"/> </baseAddresses> </host> <endpoint address="" binding="wsHttpBinding" bindingConfiguration="WsHttpBinding" contract="IMyService" /> </service>

名称是服务合同的具体类实现,合同是接口(因此在您的示例中为MyService和IMyService)。

他的休息取决于你 - 我个人认为客户端不需要关心服务是否托管在Windows服务或IIS中,因此我将使用.svc的端点,以便我可以自由地交换它。只要URL保持不变并且绑定配置也可以按照您喜欢的方式托管它。

相关问题