为什么Request.ServerVariables集合不显示所有属性,如DOCUMENT_ROOT?

时间:2018-04-03 15:45:54

标签: c# asp.net

我正在阅读URL Rewrite上的文档,它会解释服务器变量的使用,并提到DOCUMENT_ROOT

由于其他变量很熟悉,我写了一个简单的脚本来显示它们:

<%@ Page Language="C#" %>
<%
foreach (string name in Request.ServerVariables)
{
    Response.Write(name + ": " + Request[name] + "<br/>");
}
%>

令我惊讶的是,DOCUMENT_ROOT未显示。更令我惊讶的是,当您直接访问它时, 会显示:

<%= Request.ServerVariables["DOCUMENT_ROOT"] %>
  

E:\ WebSites \ MyWebSite

它与APPL_PHYSICAL_PATH几乎完全相同,除了DOCUMENT_ROOT在末尾没有反斜杠。

我尝试调试一个ASP.NET站点并检查Request.ServerVariables内部的内容,但是我看到了相同的变量,没有DOCUMENT_ROOT的痕迹。

这是隐藏变量吗?还有其他类似的变量吗?我如何列出所有这些?

0 个答案:

没有答案