博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
由SharePoint 2010的Session引发的Access Violation异常
阅读量:5948 次
发布时间:2019-06-19

本文共 1518 字,大约阅读时间需要 5 分钟。

一个客户的SharePoint w3wp.exe经常crash, 抓来的dump里一堆Access Violation(AV)的mini dump, 最后是一个terminate process的full dump.

配置了一个ADPlus的config文件, 抓来了AV的full dump.

 

发现是由于客户自己写的这样一段代码抛出了AV异常.

HttpContext.Current.Session["Dummy"] = "1";

 

明显这是由于HttpSessionState对象为空导致的异常. 那么为什么这个SharePoint 2010 Web application中的HttpSessionState拿不到呢?

答案是因为SharePoint 2010和SharePoint 2007中, ASP.NET Session State都是默认关掉了的.

 

AsiaTech: Microsoft APGC Internet Developer Support Team发表了一篇, 描述了发生在MOSS 2007中的类似问题的解决方案. 那么SharePoint 2010里, 这篇文章的解决方案是否适用呢?

答案是不完全. SharePoint 2010中要想使用ASP.NET Session State的话, 需要开启SharePoint Server ASP.NET Session State Service这个service application. 而这个service application在界面上是无法开启的, 必须通过powershell.

开启的命令如下:

Enable-SPSessionStateService –DefaultProvision

如果想把session state的数据库放到另外的数据库服务器中, 可以变换命令的参数, 如下:

Enable-SPSessionStateService -DatabaseServer YourDBServerName -DatabaseName YourDBName

 

运行上面的命令之后, 已创建的web application的web.config会被自动添加如下的两行:

<sessionState mode="SQLServer" timeout="60" allowCustomSqlDatabase="true" sqlConnectionString="Data Source=sql;Initial Catalog=SessionStateService_b61bfc5803714dad8a5b86e820e42e0e;Integrated Security=True;Enlist=False;Connect Timeout=15" />

<add name="Session" type="System.Web.SessionState.SessionStateModule" />

 

有了Session State Service Application, 要在某个web application中开启session state, 你还得修改它的web.config文件, 把false改为true如下:

 

好了, 这样改过之后, 这种AV的错误就不会再出现了.

 

参考资料

===========================

Enable ASP.NET Session State on SharePoint 2010 Application

 

Using Session State in SharePoint 2010

转载地址:http://bafxx.baihongyu.com/

你可能感兴趣的文章
接口由40秒到200ms优化记录
查看>>
java 视频播放 多人及时弹幕技术 代码生成器 websocket springmvc mybatis SSM
查看>>
Activiti6.0,spring5,SSM,工作流引擎,OA
查看>>
使用Tooltip会出现一个问题,如果行上出现复选框
查看>>
禁止浏览器缓存js
查看>>
【Redis】安装PHP的redis驱动(二)
查看>>
什么是序列化,为什么要序列化
查看>>
Java保留小数点后有效数字
查看>>
C++中一些类和数据结构的大小的总结
查看>>
mysql开启binlog
查看>>
ctrl + z fg bg
查看>>
工作流引擎Oozie(一):workflow
查看>>
struct框架
查看>>
Deep Learning(深度学习)相关网站
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
oracle进行字符串拆分并组成数组
查看>>
100多个基础常用JS函数和语法集合大全
查看>>
Java8 lambda表达式10个示例
查看>>