在类库中建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了!
您可能感兴趣的文章:
- RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'
- DotNetty在window和linux下的性能对比
- .net core 图片合并,图片水印,等比例缩小,SixLabors.ImageSharp
- WPF简单的分页控件实现
- ASP.NET中实现中文简/繁体自动转换的类
- 前后端分离,https站点无法通过Ajax访问http资源(Mixed Content,The page at 'https://xxx.com' was loaded over HTTPS)
- layui,返回的数据不符合规范,正确的成功状态码 (code) 应为:0
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论