我已经阅读了几篇文章(在 SO 和 MSDN 上),这些文章据说展示了我如何为我的 WCF 服务设置两个端点。但是我似乎无法让它发挥作用。我尝试了他们显示的内容,但仍然无法正常工作。
这是我现在拥有的:
<system.serviceModel>
<services>
<service name="MyServiceProject.MyServiceClass">
<endpoint address="MyService.svc"
binding="basicHttpBinding"
bindingName="normalBasicHttpBinding"
contract="MyContractsProject.IMyServiceClass" />
<endpoint address="SecuredMyService.svc"
binding="basicHttpBinding"
bindingName="secureBasicHttpBinding"
contract="MyContractsProject.IMyServiceClass" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="normalBasicHttpBinding" maxBufferSize="5242880"
maxBufferPoolSize="5242880"
maxReceivedMessageSize="5242880">
<readerQuotas maxArrayLength="16384"
maxStringContentLength="5242880" />
</binding>
<binding name="secureBasicHttpBinding" maxBufferSize="5242880"
maxBufferPoolSize="5242880"
maxReceivedMessageSize="5242880">
<security mode="Transport">
<transport clientCredentialType="Windows" />
</security>
<readerQuotas maxArrayLength="16384"
maxStringContentLength="5242880" />
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
我尝试过的变体:
- 拿出保安
- 让第一个地址为空白,第二个只是“安全”然后去
http://MyNormalEndpoint/MyService.svc/secure
(为空白,WCF Storm 无法连接) - 添加一个 <
Host>
部分,它是对部署路径的硬引用。(我不想这样做,因为我的服务必须部署到几个不同的位置。但无论如何它都不起作用) - 只有一个端点(安全的端点)
- 使用两种不同的绑定类型 (wsHttpBinding)。
这些都没有奏效。
现在对我的正常服务的调用返回 404。(所以我搞砸了)。如果您想查看我的原始(工作)配置,可以在这里找到。
谢谢你的帮助。