У меня есть решение, в котором приложение Silverlight вызывает службу WCF (самостоятельно размещенную в консольном приложении), которую мы будем называть A, которая вызывает другую службу WCF (размещенную в IIS), которую мы будем называть B.
Служба WCF A содержит два стандартных метода и один метод, который использует олицетворение и вызывает службу WCF B. У меня нет проблем при попытке вызвать службу WCF A из Silverlight, включая вызов с олицетворением, но когда я пытаюсь выполнить то же самое из приложения ASP.NET я получаю следующее исключение при вызове службы B WCF из методов олицетворения:
Не удалось загрузить файл или сборку 'System.IdentityModel.Selectors, версия = 3.0.0.0,
Культура = нейтральная, PublicKeyToken = b77a5c561934e089 'или одна из ее зависимостей.
Исключение из HRESULT: 0x80070542
Вот соответствующая часть моего web.config:
<system.serviceModel>
<bindings>
<customBinding>
<binding name="CustomBinding_IPrint">
<binaryMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
maxSessionSize="2048">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binaryMessageEncoding>
<httpTransport manualAddressing="false" maxBufferPoolSize="524288"
maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Ntlm"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous"
realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
useDefaultWebProxy="true" />
</binding>
<binding name="WebHttpBinding_IClientAccessPolicy">
<textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="http://localhost:8733/ClientAppsWCF" binding="customBinding"
bindingConfiguration="CustomBinding_IPrint" contract="ClientApps.IPrint"
name="CustomBinding_IPrint">
<identity>
<userPrincipalName value="ytal@ifnsystems.com" />
</identity>
</endpoint>
<endpoint binding="customBinding" bindingConfiguration="WebHttpBinding_IClientAccessPolicy"
contract="ClientApps.IClientAccessPolicy" name="WebHttpBinding_IClientAccessPolicy" />
</client>
</system.serviceModel>
Буду признателен, если кто-то может помочь мне с этим.