[英]Losing Session information after publishing an ASP.NET Website on IIS
我是ASP.NET 2.0的初學者,對於ASP.NET的專家來說,這聽起來可能是太基礎和愚蠢的問題,但這讓我無法入睡。
基本上,我開發了一個簡單的多語言網站,其中包含母版頁和內容頁,這些內容頁填充在母版頁的內容占位符部分中。 配置為在ASP.NET Development Server 2.0上運行時,該應用程序可以很好地工作。 但是,一旦我將其發布為在IIS Web服務器上運行,它將不再起作用。 :(我從跟蹤中看到,我使用的任何會話變量都沒有存儲並重定向到相關的內容頁面。
盡管顯示了內容,但是我在重定向頁面上做出決定的會話變量值丟失了,並且遇到了異常。
請指導我哪里出錯了,以及發布應用程序的確切過程。
例如:我的首頁有運行類似http://localhost/Onlineupdate/Home.aspx?vers = 1.1&lang = fr-FR的 URL
根據上述URL,我將vers和lang變量剝離並保存到Session變量中。 但是,將它們放在IIS上時會丟失。
有大約十二種事情可能導致會話數據丟失:
由於我們沒有足夠的信息來確切地回答您的特定情況下發生的事情,因此,請您從頭開始閱讀,從這里開始: http : //msdn.microsoft.com/zh-cn/library/ms178581。 ASPX
編輯:我確實找到了此博客文章,可能對您有所幫助: http : //blogs.msdn.com/b/amenon/archive/2007/08/21/troubleshooting-session-loss.aspx
以下內容不一定是答案的一部分,而是添加為對您有所幫助。
如果可行,以我個人的經驗,我們已經成功地通過使用SqlServer會話狀態模式消除了丟失的會話問題。 自從我們實現了這一點以來,我們的會議問題幾乎消失了。
我也發現了主要問題,您應該在使用之前初始化會話,例如:
會話[“ID”] =””;
在那之后一切正常
為了防止這種情況首先發生在web.config中,請將restartOnExternalChanges設置為false。 現在,在web.config中,更改必須手動傳播(這意味着開發人員現在負責構建用於配置更改傳播的機制)。
提示:為此,您可以使用文件監視程序來監聽web.config (或您在Web.app中使用的任何配置 )的更改並將其包裝為可監視的配置,以便您可以在更改配置時重新加載它們。
希望這可以幫助
我在ASP.NET MVC網站上遇到了同樣的問題。 我已經通過下一步解決了:
這些步驟解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.