В чем проблема с переменными |с разделителями по каналу | в строках подключения?
-
08-06-2019 - |
Вопрос
Я знаю это |Директория данных| примет решение о App_Data
в приложении ASP.NET, но это жестко запрограммировано или существует обобщенный механизм, работающий по принципу % переменные среды%?
Решение
Из MSDN Блог о данных Смарт-клиента:
В этой версии .Среда выполнения NET добавлена поддержка того, что мы называем макросом DataDirectory.Это позволяет Visual Studio поместить специальную переменную в строку подключения, которая будет расширена во время выполнения...
По умолчанию переменная |DataDirectory| будет расширена следующим образом:
- Для приложений, размещенных в каталоге на компьютере пользователя, это будет папка приложения (.exe).
- Для приложений, работающих под управлением ClickOnce, это будет специальная папка с данными созданная ClickOnce
- Для веб-приложений это будет папка App_Data
Под капотом значение для |DataDirectory| просто берется из свойства в домене приложения. Это значение можно изменить и переопределить поведение по умолчанию, выполнив следующее:
AppDomain.CurrentDomain.SetData("DataDirectory", newpath)