【发布时间】:2011-06-27 08:31:26
【问题描述】:
我们在 IIS 7 中托管了 RESTful WCF 服务。我们希望服务可用于 http 和 https。所以我们为服务主机添加了 2 个绑定 -
http://service.abc.com
https://service.abc.com
所有实现单一合约的服务都运行良好,但对于任何实现多个合约的服务,我们都会得到 System.ServiceModel.ServiceActivationException。
只有一种类型的绑定,http 或 https,一切正常。
有什么办法吗?
服务配置-
<services>
<service behaviorConfiguration="RESTServiceBehavior" name="App.Services.Service1">
<endpoint address="" behaviorConfiguration="webBehavior" binding="webHttpBinding" contract="App.Contract.Services.IService1" bindingConfiguration="RESTServiceBinding"></endpoint>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp/>
<restGlobalErrorHandler/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="RESTServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
<serviceAuthorization serviceAuthorizationManagerType="App.Services.AuthorizationManager, App.Services" />
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true"/>
<bindings>
<webHttpBinding>
<binding name="RESTServiceBinding">
<security mode="Transport">
</security>
</binding>
</webHttpBinding>
</bindings>
【问题讨论】:
-
我仍然不明白为什么人们在没有发布错误消息的情况下询问他们遇到的错误。您还应该提供有关如何配置服务的更多详细信息。