2010-04-14 39 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