Что за сделка с | переменные в строках соединения? - PullRequest
3 голосов
/ 18 августа 2008

Я знаю, что | DataDirectory | преобразуется в App_Data в приложении ASP.NET, но является ли он жестко запрограммированным или существует обобщенный механизм, работающий в соответствии со средой % переменные%

1 Ответ

5 голосов
/ 18 августа 2008

Из MSDN Блог данных Smart Client :

В этой версии .NET среда выполнения добавлена ​​поддержка того, что мы называем Макрос DataDirectory. Это позволяет Visual Studio поставить специальный переменная в строке подключения, которая будет расширен во время выполнения ...

По умолчанию | DataDirectory | переменная будет расширена следующим образом:

  • Для приложений, размещенных в каталог на пользовательском компьютере, это будет папка приложения (.exe).
  • Для приложений, работающих под ClickOnce, это будет специальная папка данных созданный ClickOnce
  • Для веб-приложений это будет папка App_Data

Под капотом значение для | DataDirectory | просто исходит от свойство в домене приложения. это можно изменить это значение и переопределить поведение по умолчанию, выполнив это:

AppDomain.CurrentDomain.SetData("DataDirectory", newpath)
...