Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目
默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题。
- 以管理员身份启动vs2013,创建一个"SharePoint 2013 - 空项目",名称我保持默认:SharePointProject2。
- 选择"部署为场解决方案",结果如下:

- 右击"SharePointProject2",选择"添加"----SharePoint 的"Layouts"映射文件夹,结果如下:

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

- 右击"ApplicationPage1.ashx.designer.cs"选择删除,此文件不是我们必需的。
- 修改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$"
%>
- 修改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
}
}
- 右击项目名"SharePointProject2",选择"卸载项目",如有提示,请选择"是"来保存项目
- 再次右击项目名"SharePointProject2",选择"编辑SharePointProject2.csproj"

- 修改如下,然后保存:

在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/
https://peakfinders.blogspot.jp/2015/03/adding-and-deploying-generic-handlers.html
http://blog.csdn.net/abrahamcheng/article/details/20490757#
Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目的更多相关文章
- Visual Studio 2013 添加新项缺失[ADO.NET 实体数据模型]解决方法
解决方法如下: 1).到 Visual Studio 2013 的安装包的目录:/packages/EFTools 中寻找如下文件 EFTools.msi; EFTools.cab,如图 将它们复制自 ...
- Visual Studio 2013 Unit Test Project App.config文件设置方法
开放中经常会要做单元测试,新的项目又没有单元测试项目,怎么才能搭建一个单元测试项目呢? 下面跟我四步走,如有错误之处,还请指正! 1.添加项目 2.添加配置文件 新建app.config文件,注意不是 ...
- Visual studio 2013 添加 GitHub
- 如何用Visual Studio 2013 (vs2013)编写C语言程序
如何用Visual Studio 2013 (vs2013)编写C语言程序 (2014-05-16 10:58:15) Visual Studio 2013是一个很强大的软件,但是刚开始用Visu ...
- 如何在Visual Studio 2013中使用Ribbon For WPF
1.首先需要 下载Ribbon For WPF.目前最新的版本是Microsoft Ribbon for WPF October 2010. 下载 链接: https://www.microsoft. ...
- Visual Studio 2013中使用Ribbon For WPF
1.首先需要 下载Ribbon For WPF.目前最新的版本是Microsoft Ribbon for WPF October 2010. 下载 链接: https://www.microsoft. ...
- Visual Studio 2013中因SignalR的Browser Link引起的Javascript错误一则
众所周知Visual Studio 2013中有一个由SignalR机制实现的Browser Link功能,意思是开发人员可以同时使用多个浏览器进行调试,当按下IDE中的Browser Link按钮后 ...
- Visual Studio 2013 的 Browser Link 功能
Visual Studio 2013 的 Browser Link 功能 最近公司弄新项目需要用 MVC,就把 IDE 升级到了 Visual Studio 2013,在开发的时候发现有好多请求一个本 ...
- Microsoft Visual Studio 2012 添加实体数据模型
Microsoft Visual Studio 2012 添加实体数据模型 1.创建一个web项目 2.添加ADO实体数据模型,如下图: 3.选择 从数据库生成,然后下一步 4.新建连接,如下图: ...
随机推荐
- 学习AOP之深入一点Spring Aop
上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...
- Partition1:新建分区表
未分区的表,只能存储在一个FileGroup中:对Table进行分区后,每一个分区都存储在一个FileGroup,或分布式存储在不同的FileGroup中.对表进行分区的过程,是将逻辑上完整的一个表, ...
- 6.DNS公司PC访问外网的设置 + 主DNS服务器和辅助DNS服务器的配置
网站部署之~Windows Server | 本地部署 http://www.cnblogs.com/dunitian/p/4822808.html#iis DNS服务器部署不清楚的可以看上一篇:ht ...
- ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求
通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddlew ...
- CRL快速开发框架系列教程十(导出对象结构)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- 创建ABPboilerplate模版项目
本文是根据角落的白板报的<通过ABPboilerplate模版创建项目>一文的学习总结,感谢原文作者角落的白板报. 1 准备 开发环境: Visual Studio 2015 update ...
- 【SAP业务模式】之ICS(七):IDOC配置
这是ICS业务模式系列的最后一篇了,主要讲解IDOC的配置. 一.指定EDI传输的供应商逻辑地址 事务代码:WEL1 注意:上面逻辑地址是生产公司+内部客户.有以下两种情形: 1.如果内部客户都是纯数 ...
- Visual Studio Code——Angular2 Hello World 之 2.0
最近看到一篇用Visual Studio Code开发Angular2的文章,也是一篇入门教程,地址为:使用Visual Studio Code開發Angular 2專案.这里按部就班的做了一遍,感觉 ...
- 驱动01.LED
1.写出leds_open,leds_write函数2.1告诉内核这几个函数的存在?定义一个结构体file_operations2.2把这个结构体告诉内核?用register_chrdev(major ...
- 腾讯云上免费部署HTTPS
接上篇<腾讯云下安装 nodejs + 实现 Nginx 反向代理>,想从头一步到位的同学建议从上篇文章开始阅读.本文将继续介绍如何通过 Nginx 免费部署HTTPS. 留意下,这里的“ ...