Silverlight WebContext在多个会话之间共享

时间:2013-07-23 06:05:58

标签: silverlight silverlight-4.0 wcf-ria-services ria

我有一个silverlight Ria应用程序。我使用WebContext来创建身份验证人员。 我在App.cs构造函数中有这些行(它已经附带了silverlight业务teplate):  的InitializeComponent();

WebContext webContext = new WebContext();
 webContext.Authentication = new FormsWithTimeoutAuthentication(20);

this.ApplicationLifetimeObjects.Add(webContext);

我遇到了一个问题,当我在一个浏览器选项卡中打开应用程序时,一切正常,我尝试打开另一个选项卡并使用不同的用户登录它会影响第一个选项卡中的应用程序。 我跟踪了WebContext哈希码,得到了同样的东西。因此,WebContext似乎在两个应用程序实例上共享。

你知道为什么会这样吗? 提前谢谢......

1 个答案:

答案 0 :(得分:1)

Silverlight使用浏览器的http堆栈进行身份验证。使用表单身份验证时,会向浏览器发送浏览器cookie,这会识别当前浏览器会话的经过身份验证的用户。所有浏览器选项卡共享相同的cookie,因此所有选项卡都标识为同一用户。

要避免此问题,您应在Internet Explorer上使用“私密浏览”,或在Google Chrome上使用“隐身”。