码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-04-29 14:04:37      阅读:180      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!