Почему мы должны помещать строку подключения в app.config?

я только что начал свое первое решение mvc4. Я создал 2 проекта. первый — это проект MVC4, содержащий все контроллеры (это веб-приложение), а второй — только для моделей, классов и доступа к данным Entity Framework.

я хотел бы знать, почему мне нужно поместить строку подключения в app.config (в доступе к данным), если та же строка подключения находится в web.config?

меня беспокоит конфигурация отладки и выпуска, потому что до сих пор я могу преобразовать строку подключения только в web.config, но не в app.config? я не хочу публиковать настройки и запускать тесты в производственной среде из-за этой строки подключения в app.config.

надеюсь мой вопрос понятен!


person Jeremy    schedule 28.10.2016    source источник
comment
На самом деле вам вообще не нужно помещать строку подключения в файл конфигурации. Вы можете встроить его в свой код (хотя это не очень хорошая идея) или получить его из центральной базы данных, из API или пользовательского формата файла. Это действительно зависит от вас и от того, что лучше всего подходит для вашего проекта.   -  person mason    schedule 28.10.2016
comment
на самом деле я хочу получить его из центральной базы данных, но на данный момент для моего проекта достаточно web.config   -  person Jeremy    schedule 28.10.2016
comment
Почему вы используете MVC 4? Это старо. Вы уверены, что не используете .NET 4 с MVC 5?   -  person mason    schedule 28.10.2016
comment
да MVC4 у ​​меня все еще не было времени начать с MVC5   -  person Jeremy    schedule 28.10.2016
comment
Это не имеет смысла. Вы не должны начинать разработку с MVC 4. Вы путаете MVC 5 с MVC 6?   -  person mason    schedule 28.10.2016


Ответы (1)


Вам не нужно помещать его в app.config. На самом деле app.config ничего не делает в проектах библиотеки классов.

Вы должны поместить его только в файл конфигурации для вашего фактического приложения (Web.config для Интернета или app.config для EXE).

person SLaks    schedule 28.10.2016
comment
на самом деле да. вроде не надо!! но я был уверен, что мне это нужно в начале по какой-то причине. может ли это быть связано с файлом edmx или классами, которые обновляются из базы данных? - person Jeremy; 28.10.2016
comment
@ Джереми: Да; дизайнер EDMX смотрит только в свой собственный проект. - person SLaks; 28.10.2016
comment
хорошо спасибо. поэтому дизайнер EDMX посмотрит в app.config, чтобы получить строку подключения и обновить модель данных, но мой проект не будет использовать эту строку подключения после публикации. мой проект будет использовать только строку подключения в web.config. я правильно понял? - person Jeremy; 28.10.2016