zoukankan      html  css  js  c++  java
  • ASP.NET HTTP模块和处理程序(1)(转载)

    介绍
      
        在Internet时代的开端,客户端的需求非常有限;.htm文件就可以满足他们的需求。但是,随着时间的流逝,客户端需求的扩充超越了.htm文件或静态文件所包含的功能。
      
      开发者需要扩充或扩展Web服务器的功能。Web服务器厂商设计了不同的解决方案,但是都遵循同一个主题“向Web服务器插入某些组件”。所有的Web服务器补充技术都允许开发者建立并插入组件以增强Web服务器的功能。微软公司提出了ISAPI(Internet服务器API),网景公司提出了NSAPI(网景服务器API)等等。
      
        ISAPI是一种重要的技术,它允许我们增强与ISAPI兼容的Web服务器(IIS就是一种与ISAPI兼容的Web服务器)的能力。我们使用下面的组件达到这个目的:
      
        · ISAPI扩展
      
        · ISAPI过滤器
      
        ISAPI扩展是使用Win32动态链接库来实现的。你可以把ISAPI扩展看作是一个普通的应用程序。ISAPI扩展的处理目标是http请求。这意味着你必须调用它们才能激活它们。 你可以认为ISAPI过滤器仅仅就是一个过滤器而已。客户端每次向服务器发出请求的时候,请求要经过过滤器。客户端不需要在请求中指定过滤器,只需要简单地把请求发送给Web服务器,接着Web服务器把请求传递给相关的过滤器。接下来过滤器可能修改请求,执行某些登录操作等等。
      
        由于这些组件的复杂性,实现它们非常困难。开发者不得不使用C/C++来开发这些组件,但是对于很多人来说,使用C/C++进行开发简直就是痛苦的代名词。
      
        那么ASP.NET提供什么东西来实现这些功能呢?ASP.NET提供的是HttpHandler(HTTP处理程序)和HttpModule(HTTP模块)。
      
        在深入了解这些组件的详细信息之前,了解一下http请求经过HTTP模块和HTTP处理程序的时候的处理流程是有价值的。
      
        建立示例应用程序
      
        我建立了下面一些的C#项目以演示应用程序的不同组件:
      
        · NewHandler (HTTP处理程序)
      
        · Webapp (演示HTTP处理程序)
      
        · SecurityModules (HTTP模块)
      
        · Webapp2 (演示HTTP模块)
      
        这些应用程序的安装步骤:
      
        · 解开attached zip文件中的所以代码。
      
        · 建立两个虚拟目录webapp和webapp2;把这两个目录指向Webapp和Webapp2应用程序的实际物理目录。
      
        · 把NewHandler项目中的Newhandler.dll文件复制到webapp应用程序的bin目录。
      
        · 把SecurityModules项目中的SecurityModules.dll文件复制到webapp2应用程序的bin目录中。  
  • 相关阅读:
    阿里云镜像市场,让“上云”从此零门槛!
    #火到没朋友# 攒够¥12.18, 召唤超级英雄助你上云
    阿里云1218,百亿资本助力开发者
    万网云解析全面升级开放,支持海外IP解析!
    困知,勉行—阿里云服务观
    考考你!布署上云最快需要几步?
    Ta们,用云计算改变着更多普通人的生活,所以,我们1218
    【阿里云产品公测】以开发者角度看ACE服务『ACE应用构建指南』
    【阿里云产品公测】性能测试服务PTS的初步尝试
    .NET LINQ概述
  • 原文地址:https://www.cnblogs.com/chorrysky/p/1263106.html
Copyright © 2011-2022 走看看