2012-12-12 64 views
1

我開始一個需要使用多個瀏覽器實例的.NET MVC4應用程序。我需要每個瀏覽器都擁有自己的實例或會話。例如,讓我們說它是一個學校使用的應用程序。在主窗口中,爲學生完成搜索並進行選擇,以便在該瀏覽器窗口中完成的所有操作都與所選學生相關聯。我打開了另外兩個瀏覽器窗口,並對兩個不同的學生做同樣的事情,所以現在每個窗口都與特定的學生相關聯。我不相信我可以使用會話對象,因爲它遍及瀏覽器的所有實例。什麼是最好的方式來實現這樣的事情?多個瀏覽器窗口與單獨的會話

+0

難道你不知道當前選擇的學生根據路線嗎? – dblood

+0

我的回答有用嗎?如果是這樣,你能把它標記爲接受的答案嗎? – dblood

回答

0

這裏有幾種可能性。

如果每個瀏覽器都在查看獨立於登錄用戶的學生,那麼無論哪個瀏覽器實例執行請求,您的路由都會爲您提供當前學生的信息。然後,您只需簡單地加載您的學生模型即可。

例如,搜索後,我假設您重定向到學生頁面。您可以設置類似這樣的URL路徑:

http://www.blah.com/home/student/profile/123

MVC將讓你與學生ID = 123相應的控制器裝入學生和渲染你的看法。

如果您希望將當前學生存儲在會話緩存中,您必須能夠唯一標識緩存中的學生。而不是將其存儲爲「學生」,將其存儲爲「student-123」,其中123是學生的ID。然後,您可以編寫代碼以在會話緩存中查找特定的學生。如果它不存在,請立即加載它。