2011-10-20 36 views
1

这是我的问题,我已经搜索这个计算器但找不到正确的解决方案。C#应用程序路径如何让它为网站工作

我有一个网站,存储在

C(当地在我的机器上):\网站\ WEBSITE1

在同一文件夹我有

C:\网站\ WEBSITE1 \ xmldoc.xml

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

+0

快速搜索建议HttpRequest.ApplicationPath。那是你在找什么?我相信这是我过去用于相同目的的。 – lampej

回答

3

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

Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "xmldoc.xml") 

这种技术是可以从Web和Windows应用程序被称为类库有用:

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

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

2

您可以使用Server.MapPath来获取文件的本地路径。

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

查看this相关SO问题和答案。

+0

“〜/ xmldoc.xml”会更好 – Joe

+0

@Joe - 公平点。答复修正。 – Oded

+0

我试过Server.MapPath,它是否需要某种类型的库,因为它表示服务器在当前上下文中不存在。 – user990951

0

您可以使用

Request.ApplicationPath 

Server.MapPath 
相关问题