HttpHandler 在SharePoint 2010中的应用
为了能在后台对Highchart进行构造,传递数据,决定写一个Highchart类库,来满足项目需求,Highchart类库构造用了一周时间,接下来就要在SharePoint上运用了,结果问题来了,做Demo的时候用的是Httphandler,但是在SharePoint解决方案上默认不能创建类似在WebForm里面的格式,就把WebForm里面创建好的HttpHandler复制到SharePoint 解决方案里面,部署后访问失败,经过数小时的不协奋斗,终于完成调用任务,解决过程相当曲折(13个小时左右),下面介绍一下具体步骤
第一步:创建一个SharePoint空白解决方案 SP_TEST,之后用记事本打开并修改SP_TEST.csproj 添加如下代码<TokenReplacementFileExtensions>ashx</TokenReplacementFileExtensions>
第二步:创建HttpHandler,创建之后有一个默认方法 ProcessRequest,在里面写相应的处理代码,本例子以构造一个HighChart对象为例进行讲解(先下载T.HighChart.dll和Newtonsoft.Json.dll,之后把Dll部署到GAC),你也可以不用Highchart,输出字符也是可以的
第三步:创建一个文本文件,并修改成.ashx,之后添加如下代码
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %> <%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ WebHandler Language="C#" Class="SP_TEST.Layouts.SP_TEST.ChartLineTest" CodeBehind="ChartLineTest.cs" %>
第四步:设置ChartLine.ashx的属性
第五步:右键部署后,打开IIS,右键浏览.ashx文件,之后会显示要输出的字符串。
第六步:如果上一步成功,就可以参考上一篇文章,创建一个Webpart来显示图形,Webpart代码请参考上一篇
第七步:部署并添加到页面展示图形信息,参考上一篇