Server.MapPath (& ldquo;. & Rdquo;), Server.MapPath (& ldquo; ~ & rdquo;), Server.MapPath (@ & ldquo; \ & rdquo;), Server.MapPath (& ldquo; / & rdquo;). В чем разница?

Ключевое слово this можно использовать для вызова конструктора из конструктора при написании нескольких конструкторов для класса, есть моменты, когда вы хотите вызвать один конструктор из другого, чтобы избежать дублирования кода .

Bellow - это ссылка, в которой я рассказываю другую тему о конструкторе и getters () и seters (), и я использовал класс с двумя конструкторами. Я надеюсь, что объяснения и примеры помогут вам.

Сеттерные методы или конструкторы

437
задан dav_i 15 December 2013 в 21:15
поделиться

1 ответ

Сервер. MapPath определяет относительный путь, или виртуальный тракт к карте к физическому каталогу .

  • Server.MapPath(".") <глоток> 1 возвращает текущий физический каталог файла (например, aspx) быть выполняемым
  • Server.MapPath("..") возвраты родительский каталог
  • Server.MapPath("~") возвраты, которые возвращает физический путь к корню приложения
  • Server.MapPath("/"), физический путь к корню доменного имени (не обязательно то же как корень приложения)

пример:

Скажем, Вы указали на приложение (http://www.example.com/) веб-сайта на [1 143]

C:\Inetpub\wwwroot

и установили Ваше приложение магазина (sub сеть как виртуальный каталог в IIS, отмеченном как приложение) в [1 144]

D:\WebApps\shop

, Например, если Вы звоните Server.MapPath() в следующий запрос:

http://www.example.com/shop/products/GetProduct.aspx?id=2342

тогда:

  • Server.MapPath(".") <глоток> 1 возвраты D:\WebApps\shop\products
  • Server.MapPath("..") возвраты D:\WebApps\shop
  • Server.MapPath("~") возвраты D:\WebApps\shop
  • Server.MapPath("/") возвраты C:\Inetpub\wwwroot
  • Server.MapPath("/shop") возвраты D:\WebApps\shop

, Если Путь запускается или с наклонной черты вправо (/) или с наклонной черты влево (\), MapPath() возвраты путь, как будто Путь был полным, виртуальным трактом.

, Если Путь не запускается с наклонной черты, MapPath() возвраты путь относительно каталога обрабатываемого запроса.

Примечание: в C#, @ дословный оператор литеральной строки, означающий, что строка должна использоваться, "как" и не быть обработанным для escape-последовательностей.

Сноски

  1. Server.MapPath(null) и Server.MapPath("") будут производить этот эффект также .
788
ответ дан Community 15 December 2013 в 21:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: