2012-04-24 58 views
0

我想舉辦一個asp.net的MVC(3.0)的應用程序(discountasp.net)的本地工作正常,但當我在主機的服務器上運行它,我得到:HostingEnvironment.MapPath問題asp.net的MVC 3.0

無法找到'E:\ web \ bladibla \ htdocs \ xyz \ in_e14095d9-59be-4f46-acff-b0125727ed9f'路徑的一部分。

我使用:

HostingEnvironment.MapPath(VirtualPathUtility.ToAbsolute("/xyz")) + "/"; 

,以確定哪些存在於服務器上的文件夾。我的程序必須將一些tmep文件寫入並讀取到此文件夾中。

謝謝。

回答

1

你可以嘗試

Server.MapPath("~/xyz") + "/"; 

如果xyz是在應用程序的根目錄的文件夾。

+0

問題是我在服務層不是在'web層'中這樣做。我認爲我可以轉移http上下文或其他東西......仍然問題仍然是爲什麼它在開發機器上運行,而不是在部署上運行。 – cs0815 2012-04-25 07:31:43

+0

我也嘗試了Server.MapPath。它產生了一個體面的路徑,但我仍然得到:無法找到路徑的一部分... – cs0815 2012-04-25 08:31:59

+0

OOps服務器的文件夾名稱是錯誤的。這兩種方法都很好。 HostingEnvironment.MapPath的優點是你不需要httpcontext。謝謝。 – cs0815 2012-04-25 10:54:05