私はいくつかのサーバーと通信するためにWCFを使用しています。いつWCF NetTcpBindingはクライアントに対して完全な信頼を必要としますか?
私のローカルサーバーでは、netTcpBindingは正常に動作しますが問題はありません。
しかし、app.config
で次のnetTcpBindingを使用してリモートサーバー(Azure)に接続しようとすると、完全信頼なくnetTcpBindingを作成できないため、アプリケーションが初期化されるとクラッシュします。
このapp.config
ファイルに結合、
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_IService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288"
maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="None" protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
それは、このエラーになります
:
An error occurred creating the configuration section handler for "system.serviceModel/bindings": That assembly does not allow partially trusted callers. (K:\Somepath\Testing.exe.Config line 6)
奇妙なこと:app.config
ファイルで私はせずに(他のnetTcpBindingsに接続しているクライアントエンドポイントを得ました拘束力のあるセクションでそれらを明示的に宣言する)。
これらの一般的なnetTcpBindingは部分的な信頼性で動作しますが、私が上に示したものはなぜそうではありませんか?
このエラーメッセージで混乱していますが、問題は完全信頼ではありませんか?
更新:<バインディングを削除すると、問題はなくなります。だから私は部分的な信頼でnetTcpBindingを使用することが許可されているが、私はパラメータを変更することはできません?これは私のコミュニケーションで何らかの形の暗号化をしたいので残念です。
面白いことです:デフォルトのnettcpbinding *は、部分的な信頼で私のために働きます。それはちょうど私がの部分を回避する設定ファイルの部分です。バインディングについて何かを試してみると、nettcpbindingは部分的な信頼で失敗します。 –
Sam