WCF サービスに 2 つのエンドポイントを設定する方法を示していると思われるいくつかの投稿 (ここ SO と MSDN) を読みました。しかし、私はこれを機能させることができないようです。彼らが示すものを試してみましたが、それでもうまくいきません。
これが私が今持っているものです:
<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>
私が試したこれのバリエーション:
- セキュリティを取り出す
- 最初のアドレスを空白にし、2番目のアドレスを「安全」にしてから
http://MyNormalEndpoint/MyService.svc/secure
(空白でWCF Stormに接続できませんでした) Host>
デプロイ パスへのハード リファレンスである < セクションを追加します。(私のサービスはいくつかの異なる場所に展開する必要があるため、これを行いたくありません。しかし、とにかくうまくいきませんでした)- エンドポイントを 1 つだけ持つ (安全なエンドポイント)
- 2 つの異なるバインディング タイプ (wsHttpBinding) を使用します。
これらのどれも機能していません。
そして今、私の通常のサービスへの呼び出しは404を返しています.(だから私は何かを台無しにしました). 元の (動作中の) 構成を確認したい場合は、ここで見つけることができます。
助けてくれてありがとう。