użyć tego kodu:
HttpContext.Current.Server.MapPath("~")
Szczegółowe referencyjny:
Server.MapPath
określa względną lub ścieżkę wirtualną do mapy do katalogu fizycznego.
Server.MapPath(".")
zwraca bieżący katalog fizyczny pliku (np aspx) jest wykonywany
Server.MapPath("..")
powraca katalogu nadrzędnego
Server.MapPath("~")
powraca fizyczna ścieżka do katalogu głównego aplikacji
Server.MapPath("/")
powraca fizyczna ścieżka do katalogu głównego nazwy domeny (niekoniecznie taka sama jak główna z aplikacji )
Przykład:
Powiedzmy wskazał aplikację stronie (http://www.example.com/) do
C:\Inetpub\wwwroot
i instalowania aplikacji sklep (sub internetową jako katalogu wirtualnego w IIS, oznaczonej jako aplikacja) w
D:\WebApps\shop
na przykład, jeśli zadzwonisz Server.MapPath
w następujący wniosek:
http://www.example.com/shop/products/GetProduct.aspx?id=2342
następnie:
Server.MapPath(".") returns D:\WebApps\shop\products
Server.MapPath("..") returns D:\WebApps\shop
Server.MapPath("~") returns D:\WebApps\shop
Server.MapPath("/") returns C:\Inetpub\wwwroot
Server.MapPath("/shop") returns D:\WebApps\shop
Jeżeli ścieżka rozpoczyna się albo w prawo (/) lub ukośnik (wstecz), metoda MapPath
zwraca ścieżkę jakby ścieżka były pełne, wirtualne ścieżki.
Jeśli Ścieżka nie rozpoczyna się ukośnikiem, metoda MapPath
zwraca ścieżkę względem katalogu przetwarzanego żądania.
Uwaga: w języku C#, @ jest dosłownym dosłownym operatorem, co oznacza, że ciąg znaków powinien być używany "tak jak jest" i nie może być przetwarzany dla sekwencji unikowych.
Przypisy
Server.MapPath(null)
i Server.MapPath("")
będzie produkować ten efekt zbyt.
Powiązany post [tutaj] (https://stackoverflow.com/q/6041332/465053), który mówi ogólnie o ścieżkach wykonywania aplikacji .Net. – RBT
Kolejny post, który mówi o [ścieżkach map serwera w aplikacjach internetowych w .Net] (https://stackoverflow.com/q/275781/465053) – RBT