• ashx


    一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名。一个httpHandler接受并处理一个http请求,类比于Java中的servlet。类比于在Java中需要继承HttpServlet类,在。net中需要实现IHttpHandler接口,这个接口有一个IsReusable成员,一个待实现的方法ProcessRequest(HttpContextctx) 。程序在processRequest方法中处理接受到的Http请求。成员IsReusable指定此IhttpHnadler的实例是否可以被用来处理多个请求。
    .ashx程序适合产生供浏览器处理的、不需要回发处理的数据格式,例如用于生成动态图片动态文本等内容。
     

    1实例编辑

    一个httpHandler的实例:
    <% @ webhandler language="C#" class="AverageHandler" %>
    using System;
    using System.Web;
    public class AverageHandler : IHttpHandler
    {
    //IsReusable成员,指定此IhttpHnadler的实例是否可以被用来处理多个请求。
    public bool IsReusable{ get { return true; } }
    //在processRequest方法中处理http请求
    public void ProcessRequest1(HttpContext ctx)
    {
    ctx.Response.Write("hello");
    }
    }
    在浏览器中请求此程序,将会打印hello。

    2在ashx中访问session编辑

    让自己的ashx类显式的实现一个接口 IReadOnlySessionState,示例如下:
    <% @ webhandler language="C#" class="DownloadHandler" %>
    public class DownloadHandler : IHttpHandler, IReadOnlySessionState {
    public bool IsReusable { get { return true; }}
    public void ProcessRequest2(HttpContext ctx)
    {
    //在上下文中访问session
    //ctx.Session["fred"]);
    }
    }
    如果要读写Session的值,那么只要实现 IRequiresSessionState 接口就即可,这两个接口没有待实现的方法。

    3405错误解决办法:编辑

    检查IIS主目录->应用程序设置->配置中,有没有.ashx的后缀;
    如果没有,点击添加->C:/WINDOWS/Microsoft.NET/Framework/V2.0.50727/aspnet_isapi.dll;
    扩展名填入:.ashx
    保存即可解决。
  • 相关阅读:
    《实战Java高并发程序设计》读书笔记一
    《实战Java高并发程序设计》读书笔记二
    SprintBoot学习(三)
    SprintBoot学习(二)
    SprintBoot学习(一)
    jQuery学习(三)
    jQuery学习(二)
    jQuery学习(一)
    利用activeX控件在网页里自动登录WIN2003远程桌面并实时控制
    上传读取Excel文件数据
  • 原文地址:https://www.cnblogs.com/wxblog/p/3572373.html
Copyright © 2020-2023  润新知