Необходимо запускать IIS несколько раз в день, чтобы поддерживать SQL-соединение на веб-сайте ASP.NET.

Это веб-сайт ASP.NET, созданный с помощью Visual Studio 2010 Premium. Предназначен только для регистрации событий с очень небольшой рабочей нагрузкой, так как одновременно им пользуются от нескольких до 10 человек.

Этот веб-сайт ASP.NET встроен в мой ноутбук с Windows 8.1, IIS 6.2, SQL Server 2008 R2, и на моем ноутбуке нет проблем с перезапуском IIS, независимо от того, запускаю ли я его в режиме отладки с помощью Visual Studio или опубликованной версии.

Однако каким-то образом возникает проблема с SQL-соединением на рабочем сервере с опубликованной версией, и мне нужно перезапускать IIS несколько раз в день на рабочем сервере, чтобы решить эту проблему. Когда он работает, он работает совершенно нормально, но через несколько минут или, к счастью, через час или два страницы ASP.NET, требующие подключения SQL, просто перестают работать, и единственным решением является перезапуск IIS. Настройка живого сервера — Windows Server 2012, SQL Server 2014 и IIS 8.

Это моя основная задача по работе сейчас и, пожалуйста, помогите, спасибо!


person autopenta    schedule 12.07.2016    source источник
comment
Похоже, вы не закрываете соединения после их использования. Пожалуйста, поделитесь кодом, где вы общаетесь с базой данных.   -  person Marcus Höglund    schedule 12.07.2016
comment
Можете ли вы расширить на «перестать работать»? Вы получаете сообщение об ошибке или страница не отвечает? Четкое определение актуальной проблемы — первый шаг к ее решению.   -  person Nick.McDermaid    schedule 12.07.2016
comment
Я использую select * from sys.dm_os_performance_counters, где counter_name = «User Connections», чтобы увидеть номер подключения. Для моей среды тестирования localhost с точно такими же кодами asp.net значение cntr_value очень низкое, около 10, и не растет, что бы я ни пытался. Но на живом сервере при загрузке страницы подключения sql значение cntr_value растет, а затем появляется ошибка страницы с номером 146. Я пробовал несколько раз, и всегда 146.   -  person autopenta    schedule 12.07.2016
comment
ошибка страницы с номером 146 - это не то, с чем я знаком. Вам нужно продолжать копать и найти полезный номер ошибки. Невозможно устранить неполадку, связанную с «перестать работать», но есть способ устранить полезное сообщение об ошибке. В консоли или сетевых вкладках (F12) ничего нет? Есть ли что-нибудь в журналах IIS или SQL? Если это ваша основная задача на данный момент, вам нужно изучить некоторые основные способы устранения неполадок, и первым шагом будет просмотр внешнего вида и определение проблемы.   -  person Nick.McDermaid    schedule 14.07.2016


Ответы (1)


  1. Вы освободили ресурсы базы данных в своем коде?

  2. И вы справились с ошибкой получения соединения sql?

Я не разработчик ASP.NET (обычно использую Tomcat и MySQL). Но, по моему опыту, такая ошибка возникает, когда забывают освободить некоторые ресурсы (DbConnection, File и т. д.). Последовательные операции по получению таких ресурсов завершатся неудачей и вызовут проблемы. Таким образом, ваша веб-страница работает нормально через короткое время после перезапуска IIS (Sql-соединения не исчерпаны), а затем падает (исчерпаны Sql-соединения).

Если вы сделали и то, и другое, а проблема сохраняется, то я ошибаюсь. В этом случае я предлагаю вам опубликовать свой фрагмент кода.

person YAN Haolin    schedule 12.07.2016