gpt4 book ai didi

asp.net - http 处理程序的 add 元素具有 allowedPathInfo 属性。它是做什么用的?

转载 作者:行者123 更新时间:2023-12-01 21:56:57 24 4
gpt4 key购买 nike

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

MSDN 说:

Specifies whether the handler processes full path information in a URI, such as contoso/marketing/imageGallery.aspx. If the value is true, the handler processes the full path, contoso/marketing/imageGallery. If the value is false, the handler processes only the last section of the path, /imageGallery.

这没有多大帮助......有人吗?

谢谢,谢伊。

最佳答案

allowPathInfo(IIS7 之前的 AllowPathInfoForScriptMappings)适用于像 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 但如果未设置 allowedPathInfo,您将获得整个 /example/example.cgi/foo

顺便说一句,如果您确实打开 allowPathInfo,IIS 将正确获取 PATH_INFO...但 PATH_TRANSLATED 现在是错误的。叹息。

关于asp.net - http 处理程序的 add 元素具有 allowedPathInfo 属性。它是做什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1845739/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com