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.新建连接,如下图: ...
随机推荐
- 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...
- Node-Webkit打包
1.node-webkit是什么? NW.js is an app runtime based on Chromium and node.js. You can write native apps i ...
- 【SSM框架】Spring + Springmvc + Mybatis 基本框架搭建集成教程
本文将讲解SSM框架的基本搭建集成,并有一个简单demo案例 说明:1.本文暂未使用maven集成,jar包需要手动导入. 2.本文为基础教程,大神切勿见笑. 3.如果对您学习有帮助,欢迎各种转载,注 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)
系列目录 前言 听标题的名字似乎是一个非常牛X复杂的功能,但是实际上它确实是非常复杂的,我们本节将演示如何实现对数据,进行组合查询(数据筛选) 我们都知道Excel中是如何筛选数据的.就像下面一样 他 ...
- php注册审核
通过注册审核,判断刚创建的账户是否可以使用. 后台管理员审核通过后,账号可以使用. 通过session 设置只能通过登录入口进入网页. 原理:通过数据库设置账号的一个字段状态,例: isok:1, i ...
- sql的那些事(一)
一.概述 书写sql是我们程序猿在开发中必不可少的技能,优秀的sql语句,执行起来吊炸天,性能杠杠的.差劲的sql,不仅使查询效率降低,维护起来也十分不便.一切都是为了性能,一切都是为了业务,你觉得你 ...
- 深入理解CSS六种颜色模式
前面的话 赏心悦目的颜色搭配让人感到舒服,修改元素颜色的功能让人趋之若鹜.但颜色规划不当,会让网站用户无所适从.颜色从<font color="">发展至今,保留了很多 ...
- setCapture、releasCapture 浅析
1. setCapture 简介 setCapture可以将鼠标事件锁定在指定的元素上,当元素捕获了鼠标事件后,该事件只能作用在当前元素上. 以下情况会导致事件锁定失败: 当窗口失去焦点时,锁定的事件 ...
- interpreter(解释器模式)
一.引子 其实没有什么好的例子引入解释器模式,因为它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中:在实际应用中,我们可能很少碰到去构造一个语言的文法的情况. 虽然你几乎用 ...