首页 新闻 赞助 找找看

由于抓取DLL执行路径造成的Session丢失问题。

0
悬赏园豆:20 [已解决问题] 解决于 2010-12-21 14:28

在做个项目(B/S),里面调用了一位同事的DLL,他的方法里面会记录Log。查看了下他的源代码,得到Log路径的代码是:

1 AppDomain.CurrentDomain.SetupInformation.PrivateBinPath+"\\Log\\"

调用之后项目里面的Session就丢失了。很是郁闷~~

自己写了个方法测试来保存Log,路径写成他的样子确实会造成丢失,但是写死的话就不会(E:\Log\),哪位大哥知道这个问题啊~~还请多多指点啊~~~

webaspx的主页 webaspx | 小虾三级 | 园豆:1973
提问于:2010-12-21 13:33
< >
分享
最佳答案
0

http:www.cnblogs.com/nick-fbx/archive/2008/11/14/1333244.html

把web.config里面的sessionState中的mode="InProc"改为StateServer试试。

收获园豆:20
盗贼 | 菜鸟二级 |园豆:255 | 2010-12-21 13:45
谢谢回答,开启了个服务(ASP.NET State Service),再改成“StateServer”,确实可以了。不过不太明白为什么会造成Session丢失。
webaspx | 园豆:1973 (小虾三级) | 2010-12-21 14:28
@webaspx:因为InProc是把Session存放在进程中,而你调用DLL写入的时候,系统会自动从新启动进程,然而造成Session丢失,而StateServer是把Session 放在本机上,这样就不容易丢失。这个是我自己理解的意思,希望对你有帮助!
盗贼 | 园豆:255 (菜鸟二级) | 2010-12-21 14:55
感觉不是这个原因,因为我又写了个测试页面,就使用“AppDomain.CurrentDomain.SetupInformation.PrivateBinPath+"\\Log\\"” 记录Log,也是一样Session丢失。我想应该跟这个有关。
webaspx | 园豆:1973 (小虾三级) | 2010-12-21 15:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册