Я использую WCF для связи с несколькими серверами.
Для моего локального сервера netTcpBinding работает как положено, без проблем.
Но когда я пытаюсь подключиться к моему удаленному серверу (Azure) с помощью следующего netTcpBinding в app.config
, это приведет к аварийному завершению приложения при инициализации, поскольку 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>
Это приведет к этой ошибке:
Произошла ошибка при создании обработчика раздела конфигурации для "system.serviceModel / bindings": эта сборка не допускает частично доверенных вызывающих. (K: \ Somepath \ Testing.exe. Конфигурация строки 6)
Странная вещь: в файле app.config
я получил клиентские конечные точки, подключающиеся к другим netTcpBindings (без явного объявления их в разделе привязки).
Почему эти общие netTcpBindings работают с частичным доверием, а тот, который я показал выше, не работает?
Или я просто запутался в этом сообщении об ошибке, и проблема не в полном доверии?
Обновление: если я удалю раздел , все будет работать без проблем. Так что мне разрешено использовать netTcpBinding при частичном доверии, но мне не разрешено изменять параметры? Это жаль, так как я хотел бы иметь некоторую форму шифрования в моем сообщении.