ASP.NET1.1和2.0对于静态文件的不同处理
2007-12-30 19:22
453 查看
如果在IIS中将htm(或其它未映射的文件类型)映射至ASP.NET的Aspnet _ isapi.dll,在ASP.NET1.1和2.0中使用了不同的HttpHandler来处理这些请求。
ASP.NET 1.1中使用了StaticFileHandler,具体可参照1.1中的machine.config:
<add verb="GET,HEAD" path="*" type=" System.Web.StaticFileHandler"/>
ASP.NET 2.0中使用了DefaultHttpHanlder,如下所示(C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG/web.config):
<add path="*" verb="GET,HEAD,POST" type=" System.Web.DefaultHttpHandler" validate="true" />
在IIS中将htm映射至ASP.NET的Aspnet _ isapi.dll后,如果通过POST的请求访问此htm文件,则会收到以下错误:
The HTTP verb POST used to access path '/staticfile.htm' is not allowed.
原因在于2.0中的DefaultHttpHandler处理请求时会拒绝POST请求。
解决的方案就是在应用程序的Web.config文件中添加以下代码:
<add path="*.htm" verb="GET,POST" type=" System.Web.StaticFileHandler" />
参考:
http://support.microsoft.com/kb/909641/
Reflector查看2.0中DefaultHttpHandler的源码
ASP.NET 1.1中使用了StaticFileHandler,具体可参照1.1中的machine.config:
<add verb="GET,HEAD" path="*" type=" System.Web.StaticFileHandler"/>
ASP.NET 2.0中使用了DefaultHttpHanlder,如下所示(C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG/web.config):
<add path="*" verb="GET,HEAD,POST" type=" System.Web.DefaultHttpHandler" validate="true" />
在IIS中将htm映射至ASP.NET的Aspnet _ isapi.dll后,如果通过POST的请求访问此htm文件,则会收到以下错误:
The HTTP verb POST used to access path '/staticfile.htm' is not allowed.
原因在于2.0中的DefaultHttpHandler处理请求时会拒绝POST请求。
解决的方案就是在应用程序的Web.config文件中添加以下代码:
<add path="*.htm" verb="GET,POST" type=" System.Web.StaticFileHandler" />
参考:
http://support.microsoft.com/kb/909641/
Reflector查看2.0中DefaultHttpHandler的源码
相关文章推荐
- 在ASP.NET 2.0中,有时候需要对ASP.NET生成的HTML代码进行处理,或者是保存成静态文件。ASP.NET 提供了直接将请求保存成文件的方法:HttpRequest.SaveAs方法。下面这个方法就是在ASP.NET 2.0中得到ASP.NET
- IIS配置asp.net网站出现错误:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
- asp.net core 教程(七)-异常处理、静态文件
- 如何处理ASP.NET 2.0配置文件
- [转]如何处理ASP.NET 2.0配置文件
- IIS配置asp.net网站出现错误:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
- ASP.NET Core应用针对静态文件请求的处理[5]: DefaultFilesMiddleware中间件如何显示默认页面
- ASP.NET Core应用针对静态文件请求的处理[1]: 以Web的形式发布静态文件
- ASP.NET Core应用针对静态文件请求的处理[3]: StaticFileMiddleware中间件如何处理针对文件请求
- [dotnetCore2.0]学习笔记之二: ASP.NET Core中,如何灵活使用静态文件和加载自定义配置
- ASP.NET 5中的静态文件处理
- [转载][转]如何处理ASP.NET 2.0配置文件
- 对于ASP.net 2.0上传文件后session丢失问题的解决方案
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- iis部署网站(asp.net或者wcf)出现HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
- ASP.NET 2.0中,生成一个静态文件的方法
- ASP.NET Core 中文文档 第三章 原理(3)静态文件处理
- asp.net 2.0 与1.1 在生成的前台页面内容方面的一点不同
- 有些疑惑,一个普通的aspx页面的文件,IIS怎么知道改用 asp.net1.1还是 2.0来解释呢?
- ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求