ASP.NET:把ashx写到类库里并在页面上调用的具体方法
2017-03-03 16:20
411 查看
在类库中建Http Handler的操作很简单,就是添加一个普通的类,然后把之前ashx里的代码几乎一模一样贴到这个类中。但要注意命名空间和类名,因为之后我们会用 到。
样例Handler:
namespace EdiBlog.Core.Web.HttpHandlers
{
using System;
using System.Web;
public class ExampleHandler : IHttpHandler
{
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
// 你自己的逻辑...
}
}
}
这个handler的逻辑不重要,你可以自己定义。关键点是实现:IsReusable及ProcessRequest这两个接口中定义的成员。
下面我们要去站点的web.config中注册这个handler。如果你用的是IIS7及以上版本,并用了集成模式,就要这样配置:
在system.webServer\handlers节点下添加:
<add name="ExampleHandler" verb="*" path="ex.axd" type="EdiBlog.Core.Web.HttpHandlers.ExampleHandler, EdiBlog.Core" />
其中,path是访问handler用的路径,并且拓展名需要在iis中注册,如果你和我一样用的是虚拟主机,并且不能自己管理IIS,请不要使用如abc这样的IIS默认不支持的拓展名。
type里有两个参数,第一个是handler类的完整命名,第二个是程序集的名称。
现在我们在网页上就可以用ex.axd来访问handler了!
样例Handler:
namespace EdiBlog.Core.Web.HttpHandlers
{
using System;
using System.Web;
public class ExampleHandler : IHttpHandler
{
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
// 你自己的逻辑...
}
}
}
这个handler的逻辑不重要,你可以自己定义。关键点是实现:IsReusable及ProcessRequest这两个接口中定义的成员。
下面我们要去站点的web.config中注册这个handler。如果你用的是IIS7及以上版本,并用了集成模式,就要这样配置:
在system.webServer\handlers节点下添加:
<add name="ExampleHandler" verb="*" path="ex.axd" type="EdiBlog.Core.Web.HttpHandlers.ExampleHandler, EdiBlog.Core" />
其中,path是访问handler用的路径,并且拓展名需要在iis中注册,如果你和我一样用的是虚拟主机,并且不能自己管理IIS,请不要使用如abc这样的IIS默认不支持的拓展名。
type里有两个参数,第一个是handler类的完整命名,第二个是程序集的名称。
现在我们在网页上就可以用ex.axd来访问handler了!
相关文章推荐
- ASP.NET:把ashx写到类库里并在页面上调用的具体方法
- ASP.NET:把ashx写到类库里并在页面上调用的具体方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(1):调用Web Service、调用页面中的类方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(2):处理异步调用中的异常
- 关于ASP.NET同页面内【用户控件与父页面】以及【用户控件与用户控件】之间方法调用/传值 一点点经验
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(4):异步通讯层生成的客户端代理类、使用HTTP GET进行调用
- ASP.net AJAX 调用PageMethods实例(javascript调用服务器页面方法)
- 关于ASP.NET同页面内【用户控件与父页面】以及【用户控件与用户控件】之间方法调用/传值 一点点经验
- jQuery调用Asp.net Ajax页面中的方法
- ASP.net AJAX 调用PageMethods实例(javascript调用服务器页面方法)
- asp.net中aspx页面中调用后台cs中的方法
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(10):服务器端和客户端数据类型的自动转换:以XML方式序列化数据、小结
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- 遍历获取ASP.NET页面控件的名称及值 后台调用前台javascript方法报错:“缺少对象”的解决方法 xml与DataSet的互转换类
- 关于ASP.NET同页面内【用户控件与父页面】以及【用户控件与用户控件】之间方法调用/传值 一点点经验
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(8):服务器端和客户端数据类型的自动转换:数组类型
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(3):保持用户上下文
- 关于ASP.NET同页面内【用户控件与父页面】以及【用户控件与用户控件】之间方法调用/传值 一点点经验
- 关于ASP.NET同页面内【用户控件与父页面】以及【用户控件与用户控件】之间方法调用/传值 一点点经验