在IIS上发布ASP.NET网站后丢失会话信息

thi*_*-Me 2 .net asp.net iis-6 publishing-site

我是ASP.NET 2.0的初学者.对于ASP.NET中的某个专家来说,这可能听起来太基本和愚蠢.但这给了我不眠之夜.

基本上我已经开发了一个简单的多语言网站,其中包含母版页和内容页面,这些页面填充在母版页的内容占位符部分内.当应用程序配置为在ASP.NET Development Server 2.0上运行时,该应用程序运行良好.但是,一旦我发布它在IIS Web服务器上运行它将不再起作用.:(我可以从跟踪中看到我使用的会话变量都没有存储并重定向到相关的内容页面.

虽然显示了内容,但我在重定向页面上做出某些决定的会话变量值会丢失,并且会遇到异常.

请指导我出错的地方和发布申请的确切程序.

例如:我的主页有URL,其运行类似于 http://localhost/Onlineupdate/Home.aspx?vers = 1.1&lang = fr-FR

基于上面的URL,我将verslang变量剥离并保存在Session变量中.但是,在IIS上托管时会丢失这些内容.

Dav*_*vid 5

有十几种可能导致会话数据丢失的事情:

  • IIS重新启动
  • 应用程序池重新启动
    • 由于对web.config的更改
    • 由于对\ bin目录中的任何内容进行了更改
    • 达到内存限制,或导致应用程序池重置的错误.
    • 其他几个可能的原因
  • 您的主机实际上是一个Web场,并且您正在使用进程内存,这会在一台服务器故障转移到另一台服务器时导致问题,除非您使用的是SQL Server会话状态模式.

由于我们没有足够的信息来准确回答您在特定情况下发生的情况,我请您从阅读开始,从这里开始:http://msdn.microsoft.com/en-us/library/ms178581. ASPX

编辑:我确实找到了这篇博文,可能会有所帮助: http: //blogs.msdn.com/b/amenon/archive/2007/08/21/troubleshooting-session-loss.aspx


以下不一定是答案的一部分,但添加以试图提供帮助.

如果可行的话,根据我个人的经验,我们已经成功地通过使用SqlServer会话状态模式消除了丢失的会话问题.自从我们实施了这个,我们的会话问题几乎消失了.