Sha*_*man 2 asp.net httphandler
我正在玩http处理程序.将http处理程序添加到web.config时,为了使其在IIS 7上处理特殊扩展,您需要在system.webServer/handlers元素下注册它.add元素有一个allowPathInfo属性,我无法理解它是什么...
MSDN说:
指定处理程序是否处理URI中的完整路径信息,例如contoso/marketing/imageGallery.aspx.如果值为true,则处理程序处理完整路径contoso/marketing/imageGallery.如果值为false,则处理程序仅处理路径的最后一部分/ imageGallery.
它没有那么多帮助......任何人?
谢谢,谢伊.
allowPathInfo(AllowPathInfoForScriptMappings在IIS7之前)用于CGI或WSGI之类的处理程序,它们使用在CGI规范中指定的PATH_INFO环境变量,只有路径的尾随部分在PATH_INFO中传递.
默认情况下,IIS错误地将PATH_INFO设置为整个路径,包括已存储在SCRIPT_NAME中的部分,这将混淆依赖于变量标准解释的任何内容.另一方面,ASP需要"坏"设置.
上面引用的例子似乎有点误导.这是当你有一个脚本时/example/example.cgi/foo:SCRIPT_NAME永远是/example/example.cgi; PATH_INFO应该是/foo但如果没有设置allowPathInfo,你就得到了整体/example/example.cgi/foo.
顺便提一下,如果你打开allowPathInfo,IIS将正确获取PATH_INFO ......但PATH_TRANSLATED现在是错误的.叹.
| 归档时间: |
|
| 查看次数: |
1929 次 |
| 最近记录: |