我正在寫一個ASP.Net MVC應用程序使用Jquery發佈一些數據到我的用戶會話。JQuery發佈到MVC方法會話變量消失
用戶訪問第一個我的網站的頁面,然後我有一個按鈕,它利用jQuery來的MVC控制器的方法來存儲一些數據到用戶會話的職務。
當初始頁面加載時,我使用會話工廠爲我的用戶創建會話對象。這工作正常。作爲對我的頁面的初始請求的一部分,我將一個名爲JoinState的對象放入我的會話中 - 對於任何後續請求,這個對象都必須存在。
當用戶點擊網頁上的按鈕,JQuery的柱被執行以將數據添加到JoinState對象。這發佈到一個MVC控制器方法,該方法訪問已定義的會話並使用發佈的數據更新JoinState對象。
但是,當帖子發生時,我的應用程序無法識別創建的初始會話。這導致「對象未設置爲實例....」(基本上爲空引用異常),因爲已定義的JoinState對象現在不存在。
我只是不知道爲什麼會發生這種情況。到目前爲止我所做的工作如下:
- 它隻影響從我的網絡外部訪問站點的用戶。
- 我網絡內的用戶不受影響。
- url名稱是一個動態DNS名稱 - 這可能會影響.net看到會話的方式嗎?
- 我用firebug來調試POST請求,並且可以確認ASP.Net會話cookie正在發送。
出於某種原因,在我的JQuery發佈我的原始會話無法識別。
在此先感謝。
可能,但我有點認爲它可能會複製一個標準形式的帖子。它似乎發送所有會話標識(例如cookie)。如果以後嘗試將其更改爲GET請求,看看是否有所作爲。我唯一能想到的其他事情是POST URL被修改了,或者當它通過一個動態DNS運行時,它的修改導致ASP.Net找不到原始會話。 – Remotec 2010-01-08 11:08:50