设为首页 收藏本站
查看: 1404|回复: 0

[经验分享] Inside IIS And ASP.NET [ 1 ]

[复制链接]

尚未签到

发表于 2015-8-14 01:02:05 | 显示全部楼层 |阅读模式
  [翻译]
文章来源:http://www.theserverside.net/articles/showarticle.tss?id=IIS_ASP

     IIS与.Net Framework是通过非托管的ISAPI扩展(aspnet_isapi.dll和aspnet_filter.dll)进行通信的。aspnet_isapi_dll扩展用于处理路由请求而aspnet_filter.dll主要处理ASP.NET的无状态会话,这些非托管的组件连同Windows服务状态(aspnet_state.exe)和ASP.NET工作进程(aspnet_wp.exe)组成了ASP.NET处理模型的核心。
    当.Net Framework安装到机器之后(前提安装成功IIS),IIS配置明确的扩展处理请求到aspnet_isapi.dll,有意思的是筛选器也同样被配置到IIS的内部。
DSC0000.jpg
对于ASP.NET资源的请求被传递给IIS和ASP.NET扩展配置,该配置是非托管代码和托管代码之前的桥梁。当控件被传递到你的应用程序之前,ASP.NET应用程序对象必须被实例化(在运行时刻)并且考虑决定如何配置设定对请求的处理。Machine.config和Web.Config文件(内部配置元素集合)可以处理全部的请求。
DSC0001.jpg
在本文中我们将主要关注<httpHandlers>配置区域,该区域意味着配置.Net处理请求的类型。在默认的Machine.Config文件中可以找到以下代码:

<httpHandlers>
   <add verb=&quot;*&quot; path=&quot;trace.axd&quot; type=&quot;System.Web.Handlers.TraceHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.aspx&quot; type=&quot;System.Web.UI.PageHandlerFactory&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.ashx&quot; type=&quot;System.Web.UI.SimpleHandlerFactory&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.asmx&quot; type=&quot;System.Web.Services.Protocols.WebServiceHandlerFactory,
System.Web.Services, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a&quot; validate=&quot;false&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.rem&quot;
type=&quot;System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,
System.Runtime.Remoting, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089&quot; validate=&quot;false&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.soap&quot;
type=&quot;System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,
System.Runtime.Remoting, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089&quot; validate=&quot;false&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.asax&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.ascx&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.config&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.cs&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.csproj&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.vb&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.vbproj&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.webinfo&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.asp&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.licx&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.resx&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*.resources&quot; type=&quot;System.Web.HttpForbiddenHandler&quot;/>
   <add verb=&quot;GET,HEAD&quot; path=&quot;*&quot; type=&quot;System.Web.StaticFileHandler&quot;/>
   <add verb=&quot;*&quot; path=&quot;*&quot; type=&quot;System.Web.HttpMethodNotAllowedHandler&quot;/>
</httpHandlers>


未完代续。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-98627-1-1.html 上篇帖子: IIS7.5配置IIS脚本映射实现Asp.Net的Http管道程序 下篇帖子: [转]添加/删除Windows组件无法选择IIS安装的情况下用IIS安装包安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表