随笔 - 559  文章 - 3  评论 - 12582 

前言:

出差一个月了,终于回来了,本来想继续写CYQ.Data的序列文章,突然看到MapXtreme有一条回应;
就写多一篇文章,澄清下我上一篇文章MapXtreme 2005 学习心得 一此问题(八)所说中的Session问题。

 

 

之前的调试方式

在MapXtreme 安装目录下,有一个MapXtremeControl的源码。

在上一篇中,由于调试不了源码,而只能在外面反复大量调试,以结果来猜测问题。以至于得出Session不稳定的结论。

 

 

先说说怎么调试MapXtremeControl

情况分析:

用Vs2005打开项目工程后,提示版本转化,直接转化即可,然后添加到项目引用。这时候,就算添加的是这个引用,也是无法调试的,因为在“C:\WINDOWS\assembly”目录下就存在了MapInfo.WebControls,所以默认会优化调用这个。

如果想调试你引用的项目,需要先卸载此目录下的DLL,直接右键卸载是行不通的。

 

 

卸载的方法如下:以下是网上搜到,以前我搜的时候,是通过修改注册表,然后进行卸载的:

.NET   Framework中附带了一些和GAC有关的工具,其中包括:   
1)Gacutil.exe,一个命令行的工具,用于在GAC中浏览、添加、删除Assembly   
2)Ngen.exe,也是一个命令行的工具,用于在GAC中创建Native   Image   
3)mscorcfg.msc,一个MMC终端,可以图形化完成Gacutil.exe的主要功能。 

 

 

卸载后,即可以调试你添加的项目了。

问题澄清的结论:

在调试进去后,最终又把问题引向自身了,关于Session的不稳定性,

是由于Session的两种配置方式的不同而引起的

这个一定要在项目之初就考虑清楚,而帮助文档里也有这么一段说明,不过当时没在意。

 

 

关于两种配置方式

1。是用Session池,所有人共享Session,所有的保存都需要进行序列化,编码很麻烦,默认的示例也是这种方式,有点误导。WebConfig的配置有三点,帮助文档里有说到。

2。是和普通的Session一个样,不需要序列化。编码简单,不过没有默认的救命。WebConfig配置一下即可。帮助文档里也有说到。

关于两种模式的使用情况,帮助文档里也有提到。多看帮助文档很重要,不然这个配置错误,引起的返工,是近乎重写所有的代码。

 

 

posted on 2009-12-12 15:10 路过秋天 阅读(...) 评论(...) 编辑 收藏
路过秋天