我有一个使用表单身份验证的网站(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应用程序使用了这样的binging(在ServiceReferences.ClientConfig
中设置)
<customBinding>
<binding name="CustomBinding_IExportHelper_StreamedResponse">
<binaryMessageEncoding />
<httpTransport transferMode="StreamedResponse" />
</binding>
</customBinding>
我在几个地方读过如何为httpBindings配置表单身份验证,但我找不到任何似乎适用于customBindings的内容。我怎么能实现这个目标?