C#应用程序路径如何使其在网站上运行

C#应用程序路径如何使其在网站上运行,c#,C#,这是我的问题,我已经搜索了这个stackoverflow,但找不到正确的解决方案 我有一个网站,它存储在(我的机器上的本地)中 C:\websites\Website1 在我的同一个文件夹里 C:\websites\Website1\xmldoc.xml 我希望程序能够找到并访问C:\websites\Website1\xmldoc.xml。我已将C:\websites\Website1\xmldoc.xml位置硬编码到我的网站中,但我正在尝试找出是否有更好的方法。我试过了 Applicatio

这是我的问题,我已经搜索了这个stackoverflow,但找不到正确的解决方案

我有一个网站,它存储在(我的机器上的本地)中

C:\websites\Website1

在我的同一个文件夹里

C:\websites\Website1\xmldoc.xml

我希望程序能够找到并访问C:\websites\Website1\xmldoc.xml。我已将C:\websites\Website1\xmldoc.xml位置硬编码到我的网站中,但我正在尝试找出是否有更好的方法。我试过了 Application.StartupPath,但它不起作用

您可以使用获取文件的本地路径

string fullPath = Server.MapPath("~/xmldoc.xml");
请参阅相关SO问题和答案。

您可以使用获取文件的本地路径

string fullPath = Server.MapPath("~/xmldoc.xml");

请参阅相关的SO问题和答案。

您可以使用
AppDomain.CurrentDomain.BaseDirectory
,例如

Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "xmldoc.xml")
此技术在可以从Web和Windows应用程序调用的类库中非常有用:

  • 在Web应用程序中,它解析为Web应用程序目录

  • 在WinForms或Console应用程序中,它解析为包含可执行文件的目录


您可以使用
AppDomain.CurrentDomain.BaseDirectory
,例如

Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "xmldoc.xml")
此技术在可以从Web和Windows应用程序调用的类库中非常有用:

  • 在Web应用程序中,它解析为Web应用程序目录

  • 在WinForms或Console应用程序中,它解析为包含可执行文件的目录

您可以使用

Request.ApplicationPath

你可以用

Request.ApplicationPath


快速搜索建议使用HttpRequest.ApplicationPath。这就是你要找的吗?我相信这就是我在过去用于相同目的的东西。快速搜索会发现HttpRequest.ApplicationPath。这就是你要找的吗?我相信这就是我过去用于相同目的的方法。“~/xmldoc.xml”会更好我尝试了Server.MapPath,它是否需要某种库,因为它说服务器在当前上下文中不存在。@user990951-the
Server
对象是当前HttpContext的一部分。“~/xmldoc.xml”会更好我尝试了Server.MapPath,它是否需要某种库,因为它说服务器在当前上下文中不存在。@user990951-
Server
对象是当前HttpContext的一部分。