2010-04-14 42 views
0

我们如何在silverlight中的会话中存储用户信息,意味着如何处理它?如何在SilverLight中处理会话

+0

Silverlight不是无状态的,你应该不需要担心会话,因为它存在于ASP.NET中 – 2010-04-14 08:53:38

+0

可以扩展你所考虑的情况吗? – AnthonyWJones 2010-04-14 13:09:59

+0

通常在asp.net中,如果我们想保存日志用户名和id,那么我们将使用Session为用户存储这些值,那么如何将该值存储在Silverlight 3.0中的Seesion中? – 2010-04-15 10:56:00

回答

0

如前所述,与传统的ASP.NET应用程序不同,每个请求都是半自治的,Silverlight维护应用程序状态。在后一种情况下,您可以使用会话来维护这些请求之间的一些状态信息。

在Silverlight中,您可以通过服务器对服务器进行身份验证,之后您可以使用普通的OO设计来构建一个AuthenticatedUser或CurrentUser类,或者沿着这些线来保存这些信息。

如果您要问如何坚持或从您的数据库或会员店中检索信息,显然需要通过Web服务与后端进行通信。

0

也有可能通过启动键发送数据下的Silverlight:

在Silverlight Application.Startup(app.axml.vb):

For Each Key In e.InitParams.Keys 
     If Key.ToLower() = "userid" Then 
      Page.UserId = e.InitParams(Key) 
     End If 
    Next 

在你的页面:

Xaml1.InitParameters = "UserId=1050" 

Page.UserId是我的page.axml.vb中的一个公共变量,但是您可以构建一个字符串以将会话信息从服务器传递到silverlight,而无需调用WS。

+0

这不是一个好主意 - 有人可以通过编辑对象标记/ html中包含的InitParameters轻松地妥协这种机制,将值设置为他们喜欢的任何用户,从而获得其他用户的访问权限。唯一可靠的身份验证方式是通过一个安全通道,如SSL加密的Web服务调用。 – Bobby 2010-05-26 20:33:27