Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目

默认,在用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#

转载于:https://www.cnblogs.com/sygwin/p/6179680.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270330.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中线程的6种状态

java中线程的状态分为6种。 1. 初始(NEW)&#xff1a;新创建了一个线程对象&#xff0c;但还没有调用start()方法。 2. 运行(RUNNABLE)&#xff1a;Java线程中将就绪&#xff08;ready&#xff09;和运行中&#xff08;running&#xff09;两种状态笼统的称为“运行”。 线程对…

软件推荐:微软桌面助手软件上手体验

今天给大家分享微软桌面助手这款软件的使用体验&#xff0c;感兴趣的朋友可以下载体验一下&#xff01;一、软件介绍微软桌面助手是微软官方发布的一款桌面分区应用&#xff0c;其特色是支持自动移动并根据分区来整理桌面文件&#xff0c;比如在默认设置情况下&#xff0c;可以…

微信11个超级实用的小技巧,值得一试

目录 1.1 微信收藏当备忘录用 1.2 保存长图 1.3 分类存放微信文件 2.1 快速备注好友姓名 2.2 取消单条朋友圈的消息提醒 2.3 查看群聊中错过的红包 3.1 去除红点 4.1 换行 4.2 批量保存视频 4.3 清除微信缓存 微信对于现在的朋友们来说&#xff0c;可以说是日常使用频率最高的软…

html获取qq头像代码,jQuery在线获取QQ名称和头像

正文昨天群里有人问到dux主题的评论处输入QQ号直接获取名称和头像是怎么实现的&#xff0c;我看了一下dux主题&#xff0c;发现并没有集成这个功能&#xff0c;倒是emlog的dux主题内置了这个功能&#xff0c;本来想移植过来wordpress的&#xff0c;但是发现emlog和wp的评论模块…

网络知识:详解各种路由器组网方法

很多朋友可能会问到&#xff0c;关不同网段的两个电脑如何实现互相访问&#xff1f;这个问题通常在企业办公中会遇到&#xff0c;我们经常会遇到企业随着员工或部门的增多&#xff0c;增加了一个路由器&#xff0c;分了两个网段&#xff0c;A子网和B子网处于不同网段&#xff0…

多线程之竞态条件

言&#xff1a;要想理解多线程之间的竞争&#xff0c;第一个问题就是你需要知道什么是竞态条件&#xff1f; 竞态条件是指同一个程序多线程访问同一个资源&#xff0c;如果对资源的访问顺序敏感&#xff0c;就称存在竞态条件&#xff0c;代码区成为临界区。最常见的竞态条件为…

html怎么做模糊条纹,如何使用纯CSS实现彩虹条纹文字的效果

源代码下载https://github.com/comehope/front-end-daily-challenges代码解读定义dom&#xff0c;容器中包含文本&#xff0c;并且包含4个用于特效&#xff0c;的data-text属性值为与文本相同&#xff1a;web居中显示&#xff1a;html,body{height:100%;display:flex;align-ite…

硬件知识:液晶拼接屏安装技巧及专业知识

目录 1、安装地面的选择 2、布线的注意事项 3、环境光线要求 4、框架要求 5、通风要求 6、液晶拼接技术专业知识 1、液晶拼接屏与其它电脑显示器的对比优势 2、液晶拼接屏超窄边框设计 3、液晶拼接屏高解像度支援点对点显示 4、液晶拼接屏采用高质量电子元器件&#xff08;IC、…

​软件推荐:17 款必备Chrome浏览器插件,值得一试

美化 Just Black 午夜黑官方主题 Dark Reader 暗黑主题 为什么你们就是不能加个空格呢&#xff1f; 标签管理 Momentum 【新标签页】 Tab Manager Plus 【标签管理器】 OneTab 【标签页整理】 生产效率 Octotree 【GitHub 树形菜单】 划词翻译 JSON Formatter 【JSON 格…

Python 爬虫知识点 - 淘宝商品检索结果抓包分析(续一)

通过前一节得出地址可能的构建规律&#xff0c;如下&#xff1a; https://s.taobao.com/search?data-keys&data-value44&ajaxtrue&_ksTS1481814489094_902&callbackjsonp903&qPython%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0&imgfile&js1&stats_…

系统技巧:电脑系统盘实用清理方案介绍

目录 一、清理windows更新 二、清理电脑下载文件 三、清理回收站 眼看系统盘都又快满了&#xff0c;总要清理掉一些文件&#xff0c;才能释放空间。 大家都知道&#xff0c;系统盘里面装了很多系统重要文件&#xff0c;如果在清理系统盘垃圾的时候&#xff0c;不小心误删了系统…

计算机如何驱动无线网络,电脑如何安装全民WiFi驱动

现在&#xff0c;不少用户都已经开始使用全民WiFi软件了&#xff0c;它的功能十分强大&#xff0c;可以带来不错的上网体验。不过&#xff0c;一些用户反馈不知道在电脑中该怎么安装全民WiFi的驱动&#xff0c;要如何解决呢&#xff1f;接下来&#xff0c;系统城小编为大家整理…

史上最全最强SpringMVC详细示例实战教程

一、SpringMVC基础入门&#xff0c;创建一个HelloWorld程序 1.首先&#xff0c;导入SpringMVC需要的jar包。 2.添加Web.xml配置文件中关于SpringMVC的配置 123456789101112131415<!--configure the setting of springmvcDispatcherServlet and configure the mapping-->&…

JAVA内存模型与JVM内存模型的区别

JAVA内存模型&#xff1a; Java内存模型规定所有的变量都是存在主存中&#xff0c;每个线程都有自己的工作内存。线程堆变量的操作都必须在工作内存进行&#xff0c;不能直接堆主存进行操作&#xff0c;并且每个线程不能访问其他线程的工作内存。 Java内存模型的Volatile关键…

nmap结果导出html,nmap的简单使用 - osc_ijgldkz9的个人空间 - OSCHINA - 中文开源技术交流社区...

主机探测1.扫描单个主机nmap 192.168.1.22.扫描整个子网nmap 192.168.1.1/243.扫描多个目标nmap 192.168.1.1 192.168.1.1.54.扫描一个范围内的目标nmap 192.168.1.1-1005.如果有一个全是ip地址的txt文件&#xff0c;这个文件在你的nmap目录下&#xff0c;则可以这样子操作nmap…

网络安全:堡垒机相关知识介绍

1、堡垒机是什么&#xff1f; 堡垒机&#xff0c;就是在一个特定的网络环境下&#xff0c;为了保障网络和数据不受来自外部和内部用户的入侵和破坏&#xff0c;采用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为&#xff0c;以…

Beta Daily Scrum 第七天

[目录] 1.任务进度2.困难及解决3.燃尽图4.代码check-in5.总结1. 任务进度 学号今日完成明日完成612app已完成将APP交给客户使用615app已完成将APP交给客户使用617app已完成将APP交给客户使用339app已完成将APP交给客户使用338app已完成将APP交给客户使用614app已完成将APP交给客…