我已经在网上搜索了这个并且找不到任何东西(以及一个远程相关的帖子),所以我在这里。
我们在 IIS 6 中有多个使用表单身份验证的 ASP.NET 应用程序,每个应用程序都有专用路径。由于路径区分大小写,因此它必须与 URL 的路径部分完全匹配。但是,由于 IIS 6 Metabase for AppRoot(或 IIS UI 中的起点)的大小写不正确,只要 URL 先前在服务器上解析并以不正确的大小写发送到客户端,bowser 就不会将表单 cookie 发送到服务器。
示例:
App URL = " https://Test.net/Application1 "
Cookie 路径= /Application1
Metabase AppRoot = /LM/W3SVC/1393818691/ROOT/APPLICATIONPATH1
Resolved URL = " https://Test.net/APPLICATIONPATH1 "
现在到根本原因...
我们在特定情况下手动在测试服务器上创建虚拟目录(匹配每个应用程序的路径)。然后,我们使用 UI 将虚拟目录导出到 XML 文件,然后将其导入到另一台服务器(比如说生产),此时 IIS 决定将元数据库的 AppRoot 元素大写。
任何人都可以对此有所了解吗?IIS 上是否有我不知道的设置?我试图避免在导入后手动编辑元数据库。那是一个错误吗?