ASP.NET:把ashx写到类库里并在页面上调用的具体方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET:把ashx写到类库里并在页面上调用的具体方法相关的知识,希望对你有一定的参考价值。

在类库中建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了!




















以上是关于ASP.NET:把ashx写到类库里并在页面上调用的具体方法的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET ashx文件如何客户端提交的JSON字符串转换成JSON对象然后把值读出来?

asp.net当我在web.config中设置“sessionState mode=StateServer”

asp.net 的ashx文件中 输出表或者数组

【ASP.NET】VS2012 ashx不能处理html页面

在一个aspx或ashx页面里进行多次ajax调用

支持 JSONP 的 ASP.NET 通用 HTTP 处理程序 (.ashx)