默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题。

  1. 以管理员身份启动vs2013,创建一个"SharePoint 2013 - 空项目",名称我保持默认:SharePointProject2。
  2. 选择"部署为场解决方案",结果如下:
  3. 右击"SharePointProject2",选择"添加"----SharePoint 的"Layouts"映射文件夹,结果如下:

  4. 右击Layouts下的SharePointProject2文件夹,选择添加---新建项,选择"应用程序页(仅场解决方案)",修改名称,注意文件扩展名改为:ashx

    效果:

  5. 右击"ApplicationPage1.ashx.designer.cs"选择删除,此文件不是我们必需的。
  6. 修改ApplicationPage1.ashx为如下内容(留意红框中的内容):

<%@
Assembly
Name="$SharePoint.Project.AssemblyFullName$"
%>

<%@
Assembly
Name="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
%>

 

<%@
WebHandler
Class="$SharePoint.Type.be94b0d0-ca37-4783-b8e9-06ba0477a22f.FullName$"
%>

  1. 修改ApplicationPage1.ashx.cs内容如下(注意红框中的GUID和上面的GUID要保持一致):

using System;

using System.Web;

using System.Runtime.InteropServices;

namespace SharePointProject2.Layouts.SharePointProject2

{

[Guid("be94b0d0-ca37-4783-b8e9-06ba0477a22f")]

public
partial
class
ApplicationPage1 : IHttpHandler

{

#region IHttpHandler Members

public
bool IsReusable

{

get { throw
new
NotImplementedException(); }

}

public
void ProcessRequest(HttpContext context)

{

//throw new NotImplementedException();

context.Response.Write("123");

}

#endregion

}

}

 

  1. 右击项目名"SharePointProject2",选择"卸载项目",如有提示,请选择"是"来保存项目
  2. 再次右击项目名"SharePointProject2",选择"编辑SharePointProject2.csproj"
  3. 修改如下,然后保存:

    在PropertyGroup节点下面,添加如下:

    <TokenReplacementFileExtensions>ashx</TokenReplacementFileExtensions>

十一.右击项目"SharePointProject2",选择"重新加载项目",注意要关闭我们打开的SharePointProject2.csproj文件。

十二.右击项目"SharePointProject2",选择"部署"。打开浏览器就可以浏览了。

关于GUID的生成,请在vs里,选择"工具"----"创建GUID"

关于上面的"六","七"步,如果不想使用GUID的形式,也可以使用如下方式(去掉红星划掉的部分):

即:把ashx中的Class改为"命名空间.类名"的格式。

如遇报错,请

右击"ApplicationPage1.ashx"选择"属性",然后把"生成操作"改为"内容"。

右击"ApplicationPage1.ashx.cs" 选择"属性",然后把"生成操作"改为"编译"。

关于如何在Visual Studio 2010的SharePoint项目中添加一般应用程序(.ashx),建议安装vs2010插件cks(http://cksdev.codeplex.com/).

当然也可以按上面的方法进行,执行把"六"中的前两行代码改为:

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>

<%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

 

参考:

https://cann0nf0dder.wordpress.com/2013/05/22/creating-generic-httphandler-in-sharepoint/

http://www.lifeonplanetgroove.com/adding-and-deploying-generic-handlers-ashx-to-a-sharepoint-2010-visual-studio-project/

https://peakfinders.blogspot.jp/2015/03/adding-and-deploying-generic-handlers.html

http://blog.csdn.net/abrahamcheng/article/details/20490757#

最新文章

  1. Hello Blog
  2. Sql Server中不常用的表运算符之PIVOT
  3. css3中的颜色
  4. 洛谷P1330 封锁阳光大学
  5. 使用Graphviz绘图(一)
  6. Android自动化测试框架
  7. [SLAM]2D激光线特征提取
  8. hdu3247Resource Archiver(ac自动机+spfa)
  9. 关于iscroll阻止浏览器默认动作
  10. Android自己定义DataTimePicker(日期选择器)
  11. 常见的mongodb可视化工具
  12. 基于本地iso 搭建的本地yum源 安装部署openldap
  13. 【甘道夫】Hive 0.13.1 on Hadoop2.2.0 + Oracle10g部署详细解释
  14. Vue对Html标签应用条件渲染
  15. 渗透测试的理论部分3——ISSAF的详细描述
  16. 基于FineUIMVC的代码生成器(传统三层)v1.0-2
  17. 20145319 《网络渗透》MS08_067安全漏洞
  18. 在线学习和在线凸优化(online learning and online convex optimization)—凸化方法4
  19. RF的特征子集选取策略(spark ml)
  20. MySQL5.7 主从复制配置

热门文章

  1. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)
  2. Go结构体实现类似成员函数机制
  3. 用游标实现查询当前服务器所有数据库所有表的SQL
  4. android studio你可能忽视的细节——启动白屏?drawable和mipmap出现的意义?这里都有!!!
  5. iOS之绘制虚线
  6. AngularJS 系列 学习笔记 目录篇
  7. MongoDB学习笔记五—查询上
  8. SQL 提示介绍 hash/merge/concat union
  9. Linux实战教学笔记04:Linux命令基础
  10. FineReport如何用JDBC连接阿里云ADS数据库