2011-10-05 123 views
7

我是MVC3的新成員,來自Winforms背景。我有一個兩部分的問題。首先很簡單 - 如果我有一個帶有私有非靜態變量的Controller,那麼對於瀏覽到我的應用程序的每個用戶,我是否會擁有該變量的單獨「實例」?MVC3控制器變量可訪問性

第二個更多的是一個普遍的問題......但我不確定用正確的話問它。 =)假設我的網絡應用程序位於正在通過網絡饋送一些文本的服務器上,並且需要將該文本發送給特定的最終用戶(通過AJAX),那麼如何「查找」該用戶的會話?我擔心目標是當可能有50個連接到服務器時,僅在一個用戶的瀏覽器中發佈文本。什麼是正確的方式去做呢?

謝謝!

回答

7

,如果我有它的私人非靜態變量控制器,我將有一個變量爲瀏覽到我的應用程序的每個用戶都有一個單獨的「實例」

是的,你會每個用戶請求都有一個單獨的實例。即使對於同一個用戶,如果他執行連續的請求,您將擁有一個單獨的控制器實例(和專用字段)。控制器的生命週期僅與給定的HTTP請求相關聯。

我該如何「查找」該用戶的會話?

ASP.NET使用cookie跟蹤用戶會話。 Cookie會自動沿着AJAX請求發送,以便服務器能夠識別用戶。看看ASP.NET Session state

+0

謝謝!這正是我所期待的! –