net.tcp および net.pipe バインディングで約 20 のサービスをホストする IIS 7 を使用していますが、正常に動作しています。
パイプの問題は、私には設定ミスのように見えます。それが役立つ場合は、次のように構成します。
サーバ:
<endpoint address ="" binding="fooBinding"
contract="Bla.IBlaAPI"
bindingConfiguration="BlaAPI.BindingConfig">
バインディング構成:
<binding name="BlaAPI.BindingConfig"
receiveTimeout = "10:50:00"
sendTimeout = "10:50:00"
maxReceivedMessageSize="2147483647"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
transactionFlow="false">
<readerQuotas maxDepth="32"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="8192"
maxNameTableCharCount="2147483647" />
<security mode="None"/>
</binding>
このサービスを介してデータの大きなチャンクを渡すため、長いタイムアウトを使用しており、メッセージ サイズなどのクォータが非常に高いことに注意してください。自分のニーズに合わせて調整できます。サービスはセキュリティで保護されたローカル マシンからのみ接続されるため、セキュリティは「なし」に設定されています。繰り返しますが、走行距離は異なる場合があります。
クライアント:
<endpoint name="Bla.Bindings.BlaAPI" address="net.pipe://localhost/bla/IBlaAPI.svc"
behaviorConfiguration="BlaAPI.ServiceBehavior"
binding="netNamedPipeBinding" bindingConfiguration="BlaAPI.BindingConfig"
contract="Bla.IBlaAPI" />
Faulted 状態の問題については、サービス コードの実行中に未処理の例外が発生した場合、サービス インスタンスが適切に閉じられるまで、Faulted 状態のままになることに注意してください。これを回避するには、サービスのトップレベルで例外を処理するか、Enterprise Library Excexption Handling ブロックなどを使用します。