2010-07-25 52 views
1

我做一個jQuery $。員額(「/主頁/ jQueryRateForumItem」,但是當我到達我的控制器中的會話ID始終是每個崗位不同獲得的SessionID jQuery中郵

我都試過。

 string g = HttpContext.Session.SessionID; 
     string session = base.Session.SessionID; 

我敢肯定會話ID不應改變,但不能爲我的生活考慮如何解決這個問題。

編輯

當我刷新索引頁面時發生這種情況,因此不僅在ajax回發上。我使用卡西尼而不是IIS,雖然這是我第一次遇到問題

回答

3

我看不出你的代碼有什麼問題,我無法重現你描述的行爲。默認情況下,會話由cookie進行跟蹤,因此請確保您在瀏覽器中啓用了Cookie,或者可能會爲每個請求創建一個新會話。

此外請確保您將值存儲到會話中,否則將不會創建會話cookie。讓我們舉個例子以下控制器:

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     ViewData["Message"] = base.Session.SessionID; 
     return View(); 
    } 

    public ActionResult About() 
    { 
     return View(); 
    } 
} 

首先定位到Home動作,然後去About,當你回來Home會話ID的變化。這是正常的,因爲沒有存儲到會話中。如果您只是設置一些值Session["foo"] = "bar";它將工作,因爲會話cookie將由服務器設置。

+0

就是這樣。我之前並沒有在存儲空間中存儲價值。我沒有完全到達那個階段。 :) 謝謝 – griegs 2010-07-25 10:30:10