sharepoint 2010项目中,ashx页面获取SPContext.Current 为null的原因和解决方法

//错误的写法
public void ProcessRequest(HttpContext context)
{
    SPSecurity.RunWithElevatedPrivileges(delegate
    {
       // ‘SPContext.Current‘ null reference error
        using (var site = new SPSite(SPContext.Current.Site.ID))
        {
            using (var web = site.OpenWeb(SPContext.Current.Web.ID))
            {
               // codes goes here
            }
        }
    });

}
//正确的写法
public void ProcessRequest(HttpContext context)
{
    var curSite = SPContext.Current.Site;
    var curWeb = SPContext.Current.Web;
    SPSecurity.RunWithElevatedPrivileges(delegate
    {
        using (var site = new SPSite(curSite.ID))             {
            using (var web = site.OpenWeb(curWeb.ID))
            {
                // code goes here
            }
        }
    });

}
时间: 2024-11-01 09:17:23

sharepoint 2010项目中,ashx页面获取SPContext.Current 为null的原因和解决方法的相关文章

VC项目中,构造 CString 时,提示 explicit constructors (C2440) 的解决方法

其实还是 ANSI 和 UNICODE 编码的问题. 可以使用宏 _T() 包裹字符串,使得 ANSI 和 UNICODE 兼容.如 CString strJustAnother (_T ("This is a TCHAR string a.k.a. LPCTSTR")); 或者,给那些不想改代码人的偷懒方法,屏蔽掉这个编译错误: 在 stdafx.h 文件中你一般会发现这个宏  _ATL_CSTRING_EXPLICIT_CONSTRUCTORS 的声明. #define _ATL_

Unity3D中中 rect[2] == rt->GetGLWidth() && rect[3] == rt->GetGLHeight()错误的原因及解决方法

首先说明下:这种错误只在Unity3D发生,不会在打包的游戏中发生. 官方解释: Camera with image effects throws error when certain game view aspect ratios are used To reproduce:1. Create a camera with Clear Flags set to "Depth Only" or "Don't Clear"2. Attach an image effec

在js文件中写el表达式取不到值的原因及解决方法

1.javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以取不到值 2.要想获取"${jcDropClass.jcClass.id}"的值,可以在jsp中,用一个全局变量接收,然后再js中使用 3.注意:在使用时,注意要添加双引号,如var jcClassId="${jcDropClass.jcClass.id}"; $(document).ready(function() { var schoolId=$('#jcSchoolSelec

php ci框架中加载css和js文件失败的原因及解决方法

在将html页面整合到ci框架里面的时候,加载css和js失败.原因是ci框架是入口的框架 对框架中文件的所有请求都需要经过index.php处理完成,当加载外部的css和js文件的时候要使 用base_url()函数处理外部的链接. 在控制器中需要先载入url相关的类 public function test() { $this->load->helper('url'); $this->load->view('admin/test'); } 在test.php的view视图中.

Virtualbox中不能为虚拟机打开一个新任务的原因及解决方法

我最开始的时候还以为是因为我的虚拟机路径是中文导致的,后来才发现原因: 4.3.12 之后的版本增加了安全检查机制(以前会被病毒利用),如果有程序将DLL注入Vbox的进程就会报错退出.一些杀软,MacType,或者别的系统性程序,都会注入DLL,找到元凶并排除即可. 解决方法:(有些方法我试了其实没有效果,我自己其实是重新打开就不会出错了,要等一会,不要打开virtualbox后就马上打开虚拟机,可能要等虚拟机初始化一下吧,下面的方法大家可以试试,不过不一定有效) 1.用老版本,4.3.12及

在SharePoint 2010系统中安装RBS FILESTREAM Provider

这两天在研究怎么写一个RBS Provider,可惜文档实在是很缺乏,基本上除了一篇Spec之外,就只有SQL产品组写的一个sample了.之后如果研究有结果,再整理成文章吧,现在先讲讲怎么直接安装并使用RBS FILESTREAM Provider.     -------------- 胡言乱语与正文的分隔线 --------------------     如果使用SharePoint 2007作为文档管理平台,它很让人诟病的一点就是,SharePoint 2007将文件本身直接存储在SQ

怎么在ashx页面获取Session值

在一般事务处理页面,可以轻松的得到 Request,Response对象,从而进行相应的操作,如下: HttpRequest Request = context.Request; HttpResponse Response = context.Response; 但是要得到 Session的值就没有那么简单了.比如你要在ashx得到保存在Session中的登录帐号Session["userAccount"] 如果你只是context.Session["userAccount&

项目中需要将获取的数据按照顺序读取并且展示

1 项目中需要将获取的数据按照顺序读取并且展示的时候的实例, 2 下面截图是将获取到的小区的照片.按照获取的顺序同步到ES 搜索服务器上 3 用到的JSON包是alibaba.fastjson包,此包可以将获取的数据存放在指定的集合中,在此项目中就是定义了LinkedHashMap

web项目中实现页面跳转的两种方式

<a href="javascript:"></a>跳转在网页本身,URL不改变 <a href="#"></a> 跳转在网页本身,URL 改变 java web项目中实现页面跳转的主要方式有两种:第一种,<% response.sendRedirect("index.jsp");%>第二种<jsp:forward page="index.jsp"/>我做