У меня есть следующий файл конфигурации сервера с привязкой tcp и аутентификацией Windows:
<customBinding>
<binding name="NewBindingTcpSecure">
<security authenticationMode="SecureConversation">
<secureConversationBootstrap authenticationMode="SspiNegotiated" />
</security>
<binaryMessageEncoding maxSessionSize="1000000">
<readerQuotas maxDepth="64" maxStringContentLength="131072" maxArrayLength="16384"
maxBytesPerRead="16384" maxNameTableCharCount="16384" />
</binaryMessageEncoding>
<!--<windowsStreamSecurity protectionLevel="None" />-->
<tcpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"
portSharingEnabled="true" />
</binding>
Это работает, когда я использую приложение Windows.
Но это не работает, когда я использую silverlight 4.
Моя клиентская привязка в silverlight выглядит следующим образом:
<bindings>
<customBinding>
<binding name="DefaultTcp">
<binaryMessageEncoding />
<tcpTransport />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="net.tcp://localhost:4502/HelloWcf/Service1.svc"
binding="customBinding" bindingConfiguration="DefaultTcp"
contract="ServiceReference1.IService1" name="DefaultTcp" />
</client>
Я получаю ошибку:
The message could not be processed. This is most likely because the action 'http://tempuri.org/IService1/GetData' is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings. The security context token would be invalid if the service aborted the channel due to inactivity. To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint's binding.
Пожалуйста, помогите ...