当您在IIS中托管时,您将很多注意力放到IIS的领域 - 在这种情况下,您无法真正抓住您的服务。
IIS将根据你的* .svc文件来处理必要的ServiceHost
- 不是你可以对此做很多事情,真的。
我的解决办法是不同的 - 外部化<service>
标签在您的配置文件(web.config
):
<system.serviceModel>
<services>
<service configSource="service.dev.config" />
</services>
</system.serviceModel>
在你的开发环境,只露出HTTP端点 - 让你的service.dev.config
会是这个样子:
<service name=".....">
<endpoint name="default"
address="....."
binding="basicHttpBinding" bindingConfiguration="insecure"
contract="......" />
</service>
创建第二个service.prod.config
然后包含两个端点 - http和https:
<service name=".....">
<endpoint name="default"
address="....."
binding="basicHttpBinding" bindingConfiguration="insecure"
contract="......" />
<endpoint name="secure"
address="....."
binding="basicHttpBinding" bindingConfiguration="secure"
contract="......" />
</service>
并引用在您的web.config
上的部署服务器上。 “
我有一种感觉,这是我能够实现的最好的。谢谢。 – RichardHowells 2010-11-24 18:00:10