zoukankan      html  css  js  c++  java
  • 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
    保存即可解决。
  • 相关阅读:
    Kindle Book Resource
    Windows远程桌面
    python列表常用方法
    python字符串操作简单方法
    PCA降维实验代码
    android底部菜单栏的编写
    android UI:Fragment碎片
    android开发学习——day8
    android开发学习——day7
    android开发学习——day6
  • 原文地址:https://www.cnblogs.com/wxblog/p/3572373.html
Copyright © 2011-2022 走看看