首页 > Web开发 > 详细

sharepoint 事件接收器ed方法获取HttpContext

时间:2016-04-29 14:01:42      阅读:251      评论:0      收藏:0      [点我收藏+]

前两天在做sharepoint 列表评分开发时候遇到一个小问题:

SharePoint服务器端对象模型中的SocialRatingManager类可以用来进行评分相关的操作,但创建这个类的实例需要HttpContext对象,而ItemUpdated Event无法获取到HttpContext,因为此时用户访问已经结束

The HttpContext.Current is only available within the constructor of your event receiver when handling synchronous events like ItemAdding, ItemUpdating.

这时候我们该如何做呢?于是乎很多人提出了解决办法:

  1. 尝试使用ItemUpdating Event,在构造方法中把HttpContext.Current传递给字段,然后在事件响应方法中使用。
  2. 仍使用ItemUpdated Event,想办法构造HttpContext,下面两个链接分别在SharePoint 2010、2013中使用了相同的方法构造HttpContext

http://www.sharepointpals.com/post/Programmatically-Manage-List-Items-Rating-with-Social-Rating-Manager-in-SharePoint-2013

https://pholpar.wordpress.com/2011/02/16/how-we-can-set-rating-in-the-name-of-other-users-from-code/

  3. 完全模仿第一个链接的做法,开发一个自定义WCF部署在SharePoint中,SharePoint相关应用程序的方法调用它,在自定义WCF中完成评分

我试了一下第一种方法可行,

步骤一,设置ed事件为同步事件

技术分享

步骤二,在ing方法中获取HttpContext,用静态变量存起来

技术分享

 

这样就可以拿到HttpContext

 

如果博友想到更好的办法,发出来共勉

 

sharepoint 事件接收器ed方法获取HttpContext

原文:http://www.cnblogs.com/CHANGZG/p/5445653.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!