Asp.net http处理程序的add元素具有allowPathInfo属性。这是干什么用的?

Asp.net http处理程序的add元素具有allowPathInfo属性。这是干什么用的?,asp.net,httphandler,Asp.net,Httphandler,我在玩http处理程序。将http处理程序添加到web.config时,为了使其处理IIS 7上的特殊扩展,需要在system.webServer/handlers元素下注册它。 那里的add元素有一个allowPathInfo属性,我不明白它的作用是什么 MSDN说: 指定处理程序 在一个数据库中处理完整的路径信息 URI,例如 contoso/marketing/imageGallery.aspx。 如果该值为true,则处理程序 处理完整路径, contoso/营销/图像库。如果 值为fa

我在玩http处理程序。将http处理程序添加到web.config时,为了使其处理IIS 7上的特殊扩展,需要在system.webServer/handlers元素下注册它。 那里的add元素有一个allowPathInfo属性,我不明白它的作用是什么

MSDN说:

指定处理程序 在一个数据库中处理完整的路径信息 URI,例如 contoso/marketing/imageGallery.aspx。 如果该值为true,则处理程序 处理完整路径, contoso/营销/图像库。如果 值为false时,处理程序将处理 只有路径的最后一段, /图片画廊

这没什么帮助。。。有人吗

谢谢,
Shay.

allowPathInfo
AllowPathinforScriptMappings
在IIS7之前)适用于CGI或WSGI等处理程序,这些处理程序使用CGI规范中指定的PATH_INFO环境变量,仅在PATH_INFO中传递路径的尾部

默认情况下,IIS将PATH_INFO错误地设置为整个路径,包括已存储在脚本_名称中的部分,这将混淆任何依赖于变量标准解释的内容。另一方面,ASP需要“坏”设置

上面引用的例子似乎有点误导。当你有一个脚本
/example/example.cgi/foo
:脚本的名字总是
/example/example.cgi
;路径信息应该是
/foo
,但如果未设置allowPathInfo,则会得到整个
/example/example.cgi/foo

顺便说一下,如果您确实打开了
allowPathInfo
,IIS将正确获取路径信息。。。但现在,我们所翻译的路径是错误的。唉