Соединение закрывается при запуске приложения ASP.NET MVC - PullRequest
0 голосов
/ 23 апреля 2019

Я знаю, вопрос может показаться довольно элементарным, но все же я не могу найти ни одного ответа на него. Мое приложение ASP.NET MVC подключается к базе данных DB First. Строка подключения записана в файле 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=&quot;data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\GunSudex.mdf;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&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=&quot;data source=.\SQLEXPRESS; attachdbfilename=|DataDirectory|\GunSudex.mdf;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />-->
  </connectionStrings>

Когда я загружаю свое решение, соединение не отображается в обозревателе серверов, но появляется, как только я его обновляю. Обозреватель серверов показывает, что соединение открыто. Он может закрыться довольно быстро - через несколько секунд, и требует перезагрузки. Когда я запускаю свое приложение (даже если обозреватель сервера показывает, что соединение открыто), исключение выдается в строке первого запроса к базе данных. Поэтому я предполагаю, что соединение закрывается (да, приложение загружается довольно долго). В чем проблема и как я могу это исправить? Должен ли я проверить свое соединение внутри кода? Заранее спасибо за ваше время и усилия. РЕДАКТИРОВАТЬ: как спросил Fleshy, я использую Entity Framework. Я создаю статическую переменную контекста в моем базовом контроллере, но получаю исключение в одном из методов этого контроллера.

1 Ответ

1 голос
/ 23 апреля 2019

Независимо от обозревателя серверов, вы все равно должны управлять открытием (и закрытием) соединения с базой данных в коде. Вы еще не сказали, используете ли вы ORM (Entity Framework и т. Д.) ... дополнительная информация будет полезна.

...