zoukankan      html  css  js  c++  java
  • asp.net 注册 HTTP 处理程序 (httphandler配置)

    创建自定义 HTTP 处理程序类后,必须在 Web.config 文件中注册该类。这将允许 ASP.NET 调用 HTTP 处理程序,以便处理对具有指定文件扩展名的资源的请求.

     在Web.config 文件中,

    对于在传统模式下运行的 IIS 7.0, 可以在 httpHandlers 节中注册处理程序,并将该处理程序映射到 Aspnet_isapi.dll 文件。

    对于在集成模式下运行的 IIS 7.0,可以使用 system.WebServer 节中的 handlers 元素注册处理程序

    <configuration>
      <system.web>
        <compilation debug="true" targetFramework="4.0" />
        <!--<authentication mode="Forms">
          <forms cookieless="UseCookies" defaultUrl="Default.aspx" enableCrossAppRedirects="false" loginUrl="Login.aspx" name=".auth" path="/" protection="All" slidingExpiration="true" timeout="2"></forms>
        </authentication>
        <authorization>
          <deny users="?" />
        </authorization>-->
    
        <machineKey decryption="Auto" decryptionKey="BA161C482EB0DF2C5FC6BBF8E17E9E499F7070E98C1CD55E,IsolateApps" validationKey="AFD0C7CB6B9D4168623DE88E4C6399AAE8B879226D34D0FCAB25962B26C0DE75D421AC4D16A7700C312B7EE94075D816371149FCBECD47935712E1495D12171E,IsolateApps" />
        <httpHandlers>
          <!--iis7经典模式开启所有请求过滤,同时需设置 system.webServer/handlers-->
          <add path="*.jpg" verb="*" type="httpWeb.DownloadHandler" validate="true" />
          <!--<add path="*.jpg" verb="*" type="httpWeb.DownloadHandler" validate="true" />-->
          <!--<add path="*.rar" verb="*" type="httpWeb.DownloadHandler" validate="false" />-->
        </httpHandlers>
        <httpModules>
          <!--<add name="DownloadModule" type="httpWeb.DownloadModule" />-->
          <!--经典模式modules-->     
        </httpModules>
    
      </system.web>
      <!--<location path="sub1">
        <system.web>
          <authorization>
            <deny users="?" />
          </authorization>
        </system.web>
      </location>-->
      <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">    
          <!--<add name="DownloadModule" type="httpWeb.DownloadModule" />-->
          <!--集成模式 modules-->
        </modules>
        <handlers accessPolicy="Read, Execute, Script">
          <!--iis7经典模式开启所有请求过滤,同时需设置 system.web/httpHandlers,scriptProcessor为你程序使用的aspnet_isapi版本,如程序运行在64位下就Framework64的aspnet_isapi.dll-->
    <add name="DownloadHandler" path="*.jpg" verb="*" type="httpWeb.DownloadHandler" modules="IsapiModule"
    scriptProcessor="C:WindowsMicrosoft.NETFrameworkv4.0.30319aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="bitness32" />
          <!--iis7集成模式只需设置此处-->
          <!--<add name="DownloadHandler" path="*.jpg" verb="*" type="httpWeb.DownloadHandler" />-->
        </handlers>
        <validation validateIntegratedModeConfiguration="false" />
        <!--在将应用程序从使用经典模式更改为集成模式时,如果要保留经典模式(和 IIS 6.0)的自定义模块和处理程序注册,
        必须设置 validation 元素以避免出现警告消息。-->
      </system.webServer>
    
    </configuration>
    

      

    //downloadHandler.cs

    using System;
    using System.Web;
    
    namespace httpWeb
    {
        public class DownloadHandler : IHttpHandler
        {
            /// <summary>
            /// 您将需要在您网站的 web.config 文件中配置此处理程序,
            /// 并向 IIS 注册此处理程序,然后才能进行使用。有关详细信息,
            /// 请参见下面的链接: http://go.microsoft.com/?linkid=8101007
            /// </summary>
            #region IHttpHandler Members
    
            public bool IsReusable
            {
                // 如果无法为其他请求重用托管处理程序,则返回 false。
                // 如果按请求保留某些状态信息,则通常这将为 false。
                get { return true; }
            }
    
            public void ProcessRequest(HttpContext context)
            {
                //在此写入您的处理程序实现。
              
                HttpRequest request = context.Request;
                HttpResponse response = context.Response;
    
            }
    
            #endregion
        }
    }
    

      

  • 相关阅读:
    [Java] 编写第一个java程序
    [Java] 环境变量设置
    [ActionScript 3.0] 常用的正则表达式
    [ActionScript 3.0] 正则表达式
    Python学习之==>URL编码解码&if __name__ == '__main__'
    Python学习之==>面向对象编程(一)
    Linux下安装redis-4.0.10
    Linux下编译安装Python-3.6.5
    Python学习之==>发送邮件
    Python学习之==>网络编程
  • 原文地址:https://www.cnblogs.com/venje/p/12309700.html
Copyright © 2011-2022 走看看