Gunakan kode ini:
HttpContext.Current.Server.MapPath("~")
Referensi Terperinci:
Server.MapPath menentukan jalur relatif atau virtual untuk dipetakan ke direktori fisik.
Server.MapPath(".") mengembalikan direktori fisik saat ini dari file (misalnya aspx) yang sedang dijalankan
Server.MapPath("..") mengembalikan direktori induk
Server.MapPath("~") mengembalikan jalur fisik ke root aplikasi
Server.MapPath("/") mengembalikan jalur fisik ke root nama domain (tidak harus sama dengan root aplikasi)
Sebuah contoh:
Misalkan Anda mengarahkan aplikasi situs web ( http://www.example.com/ ) ke
C:\Inetpub\wwwroot
dan menginstal aplikasi toko Anda (sub web sebagai direktori virtual di IIS, ditandai sebagai aplikasi) di
D:\WebApps\shop
Misalnya, jika Anda memanggil Server.MapPathpermintaan berikut:
http://www.example.com/shop/products/GetProduct.aspx?id=2342
kemudian:
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
Jika Path dimulai dengan garis miring (/) atau garis miring ke belakang (), MapPathmetode akan mengembalikan jalur seolah-olah Path adalah jalur virtual penuh.
Jika Path tidak dimulai dengan garis miring, MapPathmetode tersebut mengembalikan jalur yang berhubungan dengan direktori permintaan yang sedang diproses.
Catatan: di C #, @ adalah operator string literal verbatim yang berarti bahwa string harus digunakan "sebagaimana adanya" dan tidak diproses untuk escape sequence.
Catatan kaki
Server.MapPath(null)dan Server.MapPath("")akan menghasilkan efek ini juga.