首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.Net请求处理机制初步探索之旅 - Part 1 前奏

此外,本文以IIS经典模式为主,不讨论集成模式(IIS7后加入了集成模式,不用加载外部的aspnet_isapi.dll组件)。 一、当一个请求到来时 ①客户端发送一个请求给服务器端 ?...有了基于ISAPI的扩展扩展程序,IIS服务器就可以根据客户端请求的资源扩展名,来决定应由哪个ISAPI扩展程序来处理客户端请求,然后就可以将请求转发给合适的ISAPI扩展程序。 ? ?...三、一个神奇的入口 ①所谓Worker Process(工作者进程)   刚刚我们大体上介绍了IIS的处理步骤,但其实IIS对于动态资源的处理首先会通过一个工作进程去加载具体的处理组件dll。...以IIS 6.0为例,如果IIS判断它自己无法处理asp.net的请求,会由W3WP.exe所维护的工作进程来加载aspnet_isapi.dll。 ?...②.NET运行时的加载   如果Web应用程序是第一次加载,那么首先会由aspnet_isapi.dll加载.NET运行时(主要是调用服务器上的.Net Framework创建CLR运行时)。

1.6K20

asp.net与asp的session共享 及 asp的请求拦截

asp.net 与 asp 的session是无法直接共享的(底层的处理dll也不一样),要想互通session,只能用变通的办法: 一、asp.net -> asp 的session传递 a) 建一个类似...同时不影响原来asp项目的正常运行),有二种做法: a) 自行开发ISAPI 筛选器 ,然后在IIS里,把自己开发的dll加入ISAPI 筛选器 这个方法比较繁琐,技术难度也相对较高,在今天.net的时代...delphi IIS ISAPI  http://siyebocai.blog.163.com/blog/static/103316426200810297512408/ 用Delphi编写 IIS.../topics/7979 b) 利用asp.net的HttpModule (环境:IIS7 /Asp.Net 4.0上 测试通过) 前提:Asp项目所用的应用程序池必须采用"集成"模式 先建一个HttpModule...,已经很久不碰asp,这些小技巧差不多忘记光了,贴在这里备份一下) IE浏览器里先去掉 友好错误的勾选 IIS设置里,允许发送详细错误到客户端 这样,asp代码出错时,就会显示详细信息了

7.3K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    IIS的架构介绍

    打一个形象的比喻,lIS在Windows上的作用等同于Apachel服务在Linux服务器上的作用,缺少了llS,Windows操作系统就无法向用户发布Web网站。   ...IIS10 随着Windows10和Windows Server2016发布,完美支持HTTP2.0。...1.2.1 IIS应用程序文件夹   IIS服务是通过Windows服务器版操作系统上的服务器管理器添加Web角色的方式安装的。...ISAPI可以被理解为是IIS的一种扩展插件,当IIS发现某种服务器上的资源自己无法处理时,就会按照配置信息把请求转给对应的IAPI的扩展来执行;IIS会等待ISAPI的执行结果,然后把结果透传给客户端浏览器...如图下图所示,ASP.NET配置了一条策略,告诉lIS当遇到以.aspx为结尾的资源时,不要自己处理而是调用aspnet_isapi.dll这个ISAPI来处理。

    2.1K10

    ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI

    前几天有一个朋友在MSN上问我“ASP.NET 从最初的接收到Http request到最终生成Response的整个流程到底是怎样的?”...我们通过创建虚拟目录将资源Host到IIS下,原则上,我们可以通过IIS访问置于虚拟目录下的所有Resource,这部仅仅包含一些静态资源文件,比如图片、纯Html文件、CSS、JS等等,也包含一些需要动态执行的文件...对于基于ASP.NET的Resource,其对应的ISAPI Extension为ASP.NET ISAPI,通过一个aspnet_isapi.dll承载。...IIS分析Request的目标资源文件的扩展名(这里是aspx),通过ISAPI Extension Mapping获知对应的ISPAI为ASP.NET ISAPI,于是加载aspnet_isapi.dll...作为Host 基于Http Application的IIS来说,这两方面就显得尤为重要了。我们从IIS 5.x到IIS 6 的演变,不难看出IIS 6在前一个版本基础上所作的改进也是基于这两个方面。

    2.9K90

    WCF技术剖析之二:再谈IIS与ASP.NET管道

    如果是动态资源(比如.aspx,asp,php等等),则通过扩展名从IIS的脚本影射(Script Map)找到相应的ISAPI Dll。 ?...图1 IIS 5.x与ASP.NET ISAPI是Internet服务器API(Internet Server Application Programming Interface)的缩写,是一套本地的...它是Windows 2003的TCP/IP网络子系统的一部分,从结构上,它属于TCP之上的一个网络驱动程序。...从另一个角度讲,IIS运行在非托管的环境中,而ASP.NET管道则是托管的,从这个意义上讲,ISAPI还是连接非托管环境和托管环境的纽带。图5反映了IIS 6.0与ASP.NET之间的桥接关系。...PostMapRequestHandler 对于访问不同的资源类型,ASP.NET具有不同的HttpHandler对其进程处理。

    1.6K110

    利用Weblogic的iisproxy、iisforward插件实现IIS转发

    默认情况下,IIS只能提供http重定向功能,而无法满足转发需求。...举例:http://localhost/app1 利用http重定向到 http://www.abc.com/app1 访问 http://loalhost/app1/abc.html 最终浏览器地址栏里的..._10.3\server\plugin\win\x64 下有2个文件:iisforward.dll、iisproxy.dll,通过它可以让IIS实现转发。 ...server对应的ip和端口 第2行,指定vhost1对应的配置从D:\Website\app1下的iisproxy.ini读取 如果有多个虚拟主机,参考这个结构再继续添加即可 4.在IIS中,添加应用程序集...5.在要代理的站点上,添加"ISAPI筛选器" ? 参考下图: ? 6.在应用app1上,添加"处理程序映射" ? 参考下图: ? 最后还可以检查一下 ?

    96460

    Windows 2003下IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置

    4、配置 IIS 使其支持 PHP: 打开 IIS 后停止服务,然后在左侧默认Web站点上单击右键选择“属性”, 在打开的“ Web 站点属性”窗口的“ISAPI 筛选器”标签里找到并点击“添加”按钮..., 在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP ,再将可执行文件指向 php5isapi.dll 所在路径,如:C:\Inetpub\php\php5isapi.dll 。...[attachment=891] 在 IIS 根目录下新建一个 phpinfo.php ,命名为:index.php 内容如下: 打开浏览器,输入:http://localhost/, 将显示当前服务器所支持...,一般建议XP和2003系统尝试配置 PHP5.x版本,因为2003的是IIS6.0版本,一般存在IIS 6.0中早期版本的 ISAPI 筛选器不能加载,所以有可能PHP4.x的版本ISAPI 筛选器不能加载导致无法完成...('你的ROOT管理密码'); 然后再登陆PHPMYADMIN就可以了,登陆后可以在权限里面添加修改设置帐号和访问权限 5.PHP运行失败或错误,如果运行PHP后出现普通的无法找到网页"一般是由于文件不存在错误或者

    2.4K20

    WCF技术剖析之二:再谈IIS与ASP.NET管道

    如果是动态资源(比如.aspx,asp,php等等),则通过扩展名从IIS的脚本影射(Script Map)找到相应的ISAPI Dll。 ?...图1 IIS 5.x与ASP.NET ISAPI是Internet服务器API(Internet Server Application Programming Interface)的缩写,是一套本地的...它是Windows 2003的TCP/IP网络子系统的一部分,从结构上,它属于TCP之上的一个网络驱动程序。...IIS 7.0与ASP.NET IIS 7.0对请求的监听和分发机制上又进行了革新性的改进,主要体现在对于Windows进程激活服务(Windows Process Activation Service...从另一个角度讲,IIS运行在非托管的环境中,而ASP.NET管道则是托管的,从这个意义上讲,ISAPI还是连接非托管环境和托管环境的纽带。图5反映了IIS 6.0与ASP.NET之间的桥接关系。

    1.2K41

    ASP.NET 运行机制详解

    1.浏览器和服务器的交互原理 通俗描述:我们平时通过浏览器来访问网站,其实就相当于你通过浏览器去访问一台电脑上访问文件一样,只不过浏览器的访问请求是由被访问的电脑上的一个 WEB服务器软件来接收处理,它会分析接收到的请求信息...,从而按照请求信息来找到服务器电脑上的文件,经过处理,最终将生成的内容发回到浏览器。...(3)浏览器从DNS服务器获得了 www.oumind.com/index.html域名对应的服务器电脑IP,则将 请求报文 通过Socket发送到服务器电脑。...若请求的是静态资源(img,text,html等)则由IIS处理(IIS在本地Web Server上访问请求的文件),将内容输出到控制台,发出请求的浏览器就能接收到它了。...ASP.NET FrameWork对请求的处理: 上面说到IIS将像ASPX这样的页面分配给aspnet_isapi.dll,接着处理如下: 1、aspnet_isapi.dll则会 通过一个Http

    2.1K70

    Asp.net管道模型(管线模型)之一发不可收拾

    (或者说是内存)是不能直接互相访问的, 而线程可以, 线程一定会依附在某一个进程上执行.我举个例子, 你在Windows下开一个IE浏览器, 这个IE浏览器是一个进程....(扩展程序)映射记录(如.aspx、.ashx等对应aspnet_isapi.dll),如果metabase文件中没有就再检查是否为不受服务器端保护的文件(受服务器端保护:App_Code文件夹下的文件...(这里是aspnet_isapi.dll),aspnet_isapi.dll会通过一个命名管道(named pipe,一种简单的IPC——进程通信机制,具体内容请参考:《命名管道及延伸进程通信学习》)把从...IIS5.x中识别请求属于哪个Application是在工作进程中在用户模式下实现的,而IIS6.x是由Web Server的http.sys在核心模式实现的(IIS5.x的是Aspnet_isapi.dll...注:为了避免用户应用程序访问或者修改关键的操作系统数据,windows提供了两种处理器访问模式:用户模式(User Mode)和内核模式(Kernel Mode)。

    2.4K90

    HttpModule介绍

    与 Http Handler类似,我们需要打开机器上C:\WINDOWS\Microsoft.NET\Framework\ v2.0.50727\CONFIG 目录下的 web.config 文件。...略 我们先从结点上看,type属性与上一节所说的http handler结点的type属性类似,都代表了相应的程序集。.../images/logo.gif 这样获取一张图片而已(对ISAPI进行过设置以后,默认aspnet_isapi.dll不接手图片文件)。...如果你发现你的图片显示正常,请不要惊讶,事情是这样的:回想一下第一节我们讨论到的,对于图片文件,由IIS直接处理,并不会交由aspnet_isapi.dll,所以,Module无法捕获对于图片类型文件的请求...这里需要提请注意的是:如果你使用Vs2005自带的Local Server,那么你无需对IIS进行设置,所有的不论图片还是任何文件类型,都会交由aspnet_isapi.dll处理。

    62330

    RemObjects的特征

    平台间完整的电报兼容性,允许用户混和使用不同版本的SDK实现的客户端以及服务器,或者在不同操作系统上运行。...支持用于PHP client的CodeGen,允许用户从 PHP实现的网站上访问 XML-RPC服务器。 完全不用支付许可费用。...库特征 支持一系列平台,包括.NET, Mono, 32-bit and 64-bit Windows以及 Linux. 纯本地化以及指定平台的实现,对于单个平台,能够从底层设计。...编译独立的可执行的Windows Services或者在 ASP.NET (.NET Edition)或 ISAPI/Apache Web Servers (Delphi)中运行你的工程。...全面支持第三方提供的基于网络服务的消费 SOAP,并且使用了 non-RemObjects SDK技术。 支持从服务性消费的外部资源导入 WSDL服务定义。

    74630

    HttpHandler介绍

    应该还记得第一节中我们提到过 ISAPI,它根据文件名后缀把不同的请求转交给不同的处理程序。但是仔细看看就会发现:几乎一大半的文件都交给 aspnet_isapi.dll 去处理了。...很明显,aspnet_isapi.dll 不可能对每种文件采用同一种方式处理,那么 aspnet_isapi.dll 是如何更进一步处理不同的文件,交由谁去处理呢?...为了搞清楚这个问题,我们需要打开机器上C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\ 目录下的web.config 文件。...Step.5 在IIS 对ISAPI进行设置。 应该还记得在Part.1中如何在IIS中设置ISAPI来进行文件与处理程序映射: 打开IIS,选择本范例所用的站点,右键,选择“属性”。...点击“添加”,设置“可执行文件”为“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll”,设置“扩展名”为“.rss”,点“确定

    1.1K20

    PHP目前比较常见的五大运行模式

    所以用cgi方式的服务器有多少连接请求就会有多少cgi子进程,子进程反复加载是cgi性能低下的主要原因。都会当用户请求数量非常多时,会大量挤占系统的资源如内 存,CPU时间等,造成效能低下。...FastCGI的工作原理 1、Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module) 2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程(...API接口,一个ISAPI的DLL,可以在被用户请求激活后长驻内存,等待用户的另一个请求,还可以在一个DLL里设置多个用户请求处理函数,此外,ISAPI的DLL应用程序和WWW服务器处于同一个进程中,效率要显著高于...这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。对于客户浏览器的请求反应更快,性能较高。...apache模块的DLL运行模式 此运行模式是我们以前在windows环境下使用apache服务器经常使用的,而在模块化(DLL)中,PHP是与Web服务器一起启动并运行的。

    69920

    Http请求处理流程

    而实际上,从你轻拍回车到页面呈现在你眼前的十分之一秒内,IIS和.Net Framework已经做了大量的幕后工作。...能够处理各种后缀名的应用程序,通常被称为 ISAPI 应用程序(Internet Server Application Programe Interface,互联网服务器应用程序接口)。...编辑.aspx文件的处理程序 一路看到这里,可以看出,所有的.aspx文件实际上都是由 aspnet_isapi.dll 这个程序来处理的,当IIS把对于.aspx页面的请求提交给了aspnet_isapi.dll...现在我们应该知道:Asp.Net 只是服务器(IIS)的一个组成部分而已,它是一个 ISAPI扩展。...Asp.Net 的宿主环境 理解管道(Pipeline) 在前面两章中,我们在一个相对比较低的层次上讨论了从发出Http请求到看到浏览器输出这转瞬即逝的十分之一秒内IIS和 Framework 所做的事情

    1.3K20

    Win7 下部署 Discuz!

    IIS 7.5 Web 服务器。 下载地址:可直接在系统设置里安装,无需下载。...PHP 5.4.42 因为 PHP 5.2.10 开始已经不再提供 php5isapi.dll,也即在 IIS 上只能使用 FastCGI 而能使用 ISAPI 方式了,所以选用 Non Thread...> 打开浏览器访问 http://localhost/phpinfo.php,如果能显示如下网页表示环境已经准备就绪。 ?...然后在浏览器里访问 http://localhost/install,按提示进行安装,除了需要填上你的 MySQL 管理员密码和设置 Discuz!...此时实际上是打开了「高级安全 Windows 防火墙」,右键「入站规则」,选择「新建规则」,规则类型选「端口」,协议和端口选择「TCP」和「特定本地端口:80」,操作选择「允许连接」,配置文件保持默认的全部勾选

    1.4K30

    SCOM 2012 sp1 安装篇(一)

    注释 如果为安装创建特定帐户,则此帐户必须是 Microsoft SQL Server 的“sysadmin”服务器角色的成员,但还必须具有主数据库访问权限。...· Operations Manager 不支持在 32 位版本的 SQL Server 上承载其数据库或 SQL Server Reporting Services。...如果将 SQL Server 身份验证设置为混合模式,然后尝试在操作数据库上添加本地 SQL Server 登录名,则 Data Access 服务将无法启动。...以上为IIS的功能需求,测试环境的话,为了方便可以全部勾选。 ? ? 安装成功,下面打开IIS管理器,启用ISAPI和CGI限制 ? ? ? 3....此处是选择承载报表服务器的实例,实例一定要在本地进行安装,当然你的报表服务器也可以单独装到一台服务器上,我们也建议这么做,由于我当前不怎么需要报表服务器,我就返回前面,去掉勾选报表服务器角色,等以后需要了再进行安装

    2.1K30

    ISAPI Rewrite实现iis防盗链

    大家好,又见面了,我是你们的朋友全栈君。 为了实现图片防盗链,根据网络上搜集的资料加上自己的实践,终于实现了iis下的图片防盗链功能。...服务器系统windows 2003 server,参考资料来源: http://www.hua-lin.net/blog/isapi_rewrite-stop-leeching-39 实施步骤: 1.下载比较出名的.../isapi_rwl_x86_0072.msi 2.设置软件安装目录的IIS_WGP组的读写权限(重要,如果不设置安装完后你的网站就会直接Service Unavailable,无法访问)。...3.安装软件(安装过程中软件会重启iis),安装目录选择上一步设置好权限的目录,安装完毕后打开控制面板里的Internet 信息服务,打开网站的属性对话框里面有一项“isapi筛选器”,点击“添加”,“...筛选器名称”自己随便填写一个好理解的名字就可以,“可执行文件”项点击“浏览”,选择刚才安装的ISAPI_Rewrite的安装目录中的ISAPI_Rewrite.dll,确定即可。

    34310
    领券