#asp.net-mvc #asp.net-mvc-5 #connection #database-connection #connection-string
#asp.net-mvc #asp.net-mvc-5 #соединение #подключение к базе данных #строка подключения
Вопрос:
Я знаю, вопрос может показаться довольно элементарным, но все же я не могу найти на него ни одного ответа. Мой ASP.NET Приложение MVC сначала подключается к базе данных, DB. Строка подключения записывается внутри web.config:
<connectionStrings>
<add name="GunSudexDbContext" connectionString="metadata=res://*/Models.GunSudexDbContext.csdl|res://*/Models.GunSudexDbContext.ssdl|res://*/Models.GunSudexDbContext.msl;provider=System.Data.SqlClient;provider connection string=amp;quot;data source=(LocalDB)MSSQLLocalDB;attachdbfilename=|DataDirectory|GunSudex.mdf;integrated security=True;multipleactiveresultsets=True;application name=EntityFrameworkamp;quot;" providerName="System.Data.EntityClient" />
<!--<add name="GunSudexDbContext" connectionString="metadata=res://*/Models.GunSudexDbContext.csdl|res://*/Models.GunSudexDbContext.ssdl|res://*/Models.GunSudexDbContext.msl;provider=System.Data.SqlClient;provider connection string=amp;quot;data source=.SQLEXPRESS; attachdbfilename=|DataDirectory|GunSudex.mdf;integrated security=True;multipleactiveresultsets=True;application name=EntityFrameworkamp;quot;" providerName="System.Data.EntityClient" />-->
</connectionStrings>
Когда я загружаю свое решение, соединение не отображается в проводнике сервера, но появляется, как только я его обновляю. Проводник сервера показывает, что соединение открыто. Оно может закрыться довольно быстро — через несколько секунд, и его требуется перезагрузить. Когда я запускаю свое приложение (даже если проводник сервера показывает, что соединение открыто), в строке первого запроса к базе данных генерируется исключение. Итак, я полагаю, что соединение закрывается (да, приложение загружается довольно долго).
В чем проблема и как я могу ее исправить? Должен ли я проверять свое соединение внутри кода?
Заранее спасибо за ваше время и усилия.
Редактировать:
как и просил Флеши, я использую Entity Framework. Я создаю статическую контекстную переменную в своем базовом контроллере, но получаю исключение в одном из методов этого контроллера.
Ответ №1:
Независимо от проводника сервера, вы все равно должны управлять открытием (и закрытием) вашего подключения к базе данных в коде. Вы не сказали, используете ли вы ORM (Entity Framework и т.д.) … дополнительная информация была бы полезна.
Комментарии:
1. Не могли бы вы опубликовать исключение, пожалуйста.