ASP.NET sessionState setting is Off

MapXtreme2004有这样一个错误:

Cannot set appSetting MapInfo.Engine.Session.State to HttpSessionState when ASP.NET sessionState setting is Off in your web.config file.

这个莫名奇妙的错误困扰了我很久,无数次怀疑自己编写的代码有问题。web.config里面明明写的不是Off他却偏偏要报这样的错,而且还不是有规律可循的。有时可能是刚进页面就出错了;也有情况是操作的时候就出错了。之前查找资料和统计出错情况也发现带框架比较容易出错。但是去掉框架也没能彻底解决问题。难道这个问题就解决不了了吗?很明显我写这篇文章就是要解决这个问题。

首先是找到问题的根结所在,也是受到另外一个问题的启发
HttpModules的Init函数多次执行的问题

MapXtreme有一个HttpModule,在每次访问页面时都需要执行,这也就说明为什么在访问没有GIS的页面也会报MapXtreme的错误出来的原因。而这个HttpModule读取网站配置信息可能存在问题。在某种特定情况下没有读到配置信息而误认为没有配置文件,这当然就会出错。由于是特定情况下才发生的,所以这个问题好像不是人人都遇到了。那么我们要解决的问题就变成怎么样让他读到配置信息。我就不废话了,将这个文件放到各个文件夹下面就可以让这个HttpModule读到他想要的东西。

下载文件

Technorati :

你可能感兴趣的:(asp.net)