Что за сделка с | переменные в строках соединения?

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

18.08.2008 06:06:38
1 ОТВЕТ
РЕШЕНИЕ

Из блога MSDN Smart Client Data :

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

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

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

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

AppDomain.CurrentDomain.SetData("DataDirectory", newpath)
5
18.08.2008 09:22:47