【问题标题】:ASP Web.config folder path isn't resolvingASP Web.config 文件夹路径未解析
【发布时间】:2010-12-27 03:12:35
【问题描述】:

我刚刚被要求修复一个 ASP 网站,但我知道绝对没有 ASP。当我尝试加载网站时,收到以下错误:

MENU CACHE EXCEPTION:No menu xml file found for menu id 1. Make sure the xml file \menuxml\menu_1.xml exist.

我尝试编辑 Web.config 以使用各种不同的路径指向正确的文件夹。似乎没有一个工作。我不断收到同样的错误。以下是它目前的样子:

<add key="menuXMLFilesDir" value="/clientsdata/iis7_www/c/a/site/www/menuxml/" />

我认为问题在于它需要从根目录开始的绝对路径。我要求那条路,并得到了回报。对我来说,这看起来非常 Linuxy。我期待看到驱动器号 (C:...)。

如何指向正确的路径?

顺便说一句,Web.config 文件和 menuxml 文件夹都在文档根目录中。

编辑:我尝试了许多系统路径来指向 menuxml 文件夹以及网络相对路径。似乎没有一个工作。从 Stephen M. Redd 提供的所有帮助中,我希望这个问题已经得到解决。既然不是,我只能假设问题出在 Web.config 之外。还可以做些什么来尝试纠正这个问题? :/

【问题讨论】:

  • 你是如何要求根路径的?在代码中?什么代码?命令提示符还是什么?
  • 我给要求我修复网站的人发了电子邮件。然后那个人打电话给托管公司,他得到了这条路。
  • 就像 Stephen M. Redd 所说,这些路径通常是网络相关的,而不是物理路径。试试他的回答。您得到的“Linuxy”路径可能表明 Web 服务器实际上是 Linux(或 Unix),但从网站的角度来看,这并不是很重要。

标签: asp.net path web-config directory


【解决方案1】:

在 web.config 中,将路径设置为:“~\menuxml\menu_1.xml”。波浪号告诉应用程序使用“虚拟根”。这些路径是相对于 Web 的,而不是物理文件系统路径。

【讨论】:

  • 我在检查 MSDN 上的文档根路径后尝试过。它返回与Make sure the xml file ~\menuxml\menu_1.xml exist. 相同的错误。错误可能在其他地方吗?我只是假设这是 Web.config 路径的问题。会不会有一些 .ASP(X) 页面解析了这个错误?
  • 如果“网络相关”是指使用 URL,我只是尝试过。仍然有错误。
  • 如果错误消息中显示的路径正在更新以反映 web.config 中的更改,那么不...它可能正在从那里读取路径。您可以在网络浏览器中手动解析路径吗?获取网站的虚拟根路径,并手动将“\menuxml\menu_1.xml”附加到它的末尾。您应该从该文件中取回原始 XML。
  • 是的,错误正在更新以显示我在 Web.config 中所做的更改。但据我了解,这个配置文件基本上充满了用户变量,然后在其他地方解析? http://www.mysite.com/menuxml/menu_1.xml 正确返回 XML 文件。
  • web.config 中的变量的范围是应用程序,而不是用户。通常,配置中提供的值将在运行时使用。如果其他代码在运行时覆盖这些值,则错误通常会显示实际的运行时值。你知道正在使用什么菜单组件(这个错误看起来不像是来自内置的 asp.net 菜单控件)?
猜你喜欢
  • 2014-09-03
  • 2015-11-01
  • 2023-01-04
  • 2013-06-05
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
  • 2014-01-16
  • 1970-01-01
相关资源
最近更新 更多