У меня есть веб-сайт (asp.net 4.0), который использует проверку подлинности с помощью форм, у этого сайта есть дочерний сайт, на котором размещен другой сайт, на котором размещено приложение silverlight. Первый сайт предоставляет страницу входа в систему, и оба сайта имеют одинаковые имена файлов cookie и ключи компьютеров, что позволяет совместно использовать имя входа. Все это работает так, как мы хотим. Суть проблемы заключается в том, что приложение silverlight пытается вызвать службы WCF, которые размещены на том же веб-сайте, что и на его веб-сайте (то есть дочернем сайте), но при каждом вызове происходит сбой. Я всегда вижу код ответа 302
, который пытается перенаправить вызов службы на страницу входа.
Мой сервис WCF использует привязку, подобную этой:
<customBinding>
<binding name="SUV_MVVM.Web.Services.ExportHelper.customBinding0" >
<binaryMessageEncoding>
<readerQuotas maxStringContentLength="524288" />
</binaryMessageEncoding>
<httpTransport transferMode="StreamedResponse" />
</binding>
</customBinding>
и мое приложение silverlight использует бингинг, который выглядит следующим образом (установлен в ServiceReferences.ClientConfig
)
<customBinding>
<binding name="CustomBinding_IExportHelper_StreamedResponse">
<binaryMessageEncoding />
<httpTransport transferMode="StreamedResponse" />
</binding>
</customBinding>
В нескольких местах я читал, как настроить аутентификацию форм для httpBindings, но я не могу найти ничего, что, кажется, применимо к customBindings. Как мне этого добиться?