#asp.net #visual-studio-2013 #asp.net-mvc-5 #asp.net-identity
#asp.net #visual-studio-2013 #asp.net-mvc-5 #asp.net-identity
Вопрос:
Возможно, ответ тривиален, но я не смог найти точно такое же поведение в других потоках. У меня есть веб-приложение MVC 5. Я реализовал пользовательскую базу данных идентификаторов с Asp.Net Идентичность 2 (Owin). У меня есть только внешний логин (facebook, Google … и т.д.). Вход в систему работает нормально. Пользователи прошли проверку подлинности с помощью ролей и всего остального.
После одной минуты бездействия мой сеанс отладки Visual Studio 2013 останавливается. Иногда приложение остается доступным (поэтому пул приложений IIS не останавливается), иногда он также перерабатывает IIS.
Я также реализовал ведение журнала в методе Application_End Global.asax, чтобы узнать причину завершения работы, но в этих случаях в журналах нет информации. В других случаях, когда пул приложений перерабатывается из-за изменения web.config, у меня есть информация в журналах.
Я подозреваю тайм-аут, однако я понятия не имею, какой это может быть тайм-аут. Где я должен искать?
Заранее спасибо.
Ответ №1:
Я столкнулся с той же проблемой и узнал, как установить время ожидания для IIS Express:
В окне командной строки перейдите к папке, в которой установлен IIS Express, и выполните следующую appcmd
команду:
c:Program Files (x86)IIS Express> appcmd set config /section:applicationPools /[name='Clr4IntegratedAppPool'].processModel.idleTimeout:0.00:00:00
(прокрутите вправо, чтобы увидеть всю строку)
Комментарии:
1. Таким образом, веб-имя не требуется для команды. Спасибо за ваш ответ.
Ответ №2:
Откройте IIS, найдите AppPool вашего приложения, затем:
- Щелкните правой кнопкой мыши на пуле приложений и выберите Дополнительные настройки
- В разделе «Модель процесса» установлено
Idle Time-Out (minutes)
значение 0.
Для справки, единственными настройками по умолчанию (не выделенными жирным шрифтом) в моих разделах «Модель процесса» и «Переработка» являются:
Identity : NetworkService
Idle Time-out (minutes) : 0
Ping Enabled : False
И с этими настройками я могу запустить отладчик, и, похоже, он никогда не отключается автоматически или не перерабатывается.
Комментарии:
1. Спасибо, что ответили. Я использую IIS Express, поэтому я попытался установить idleTimeout с помощью инструмента командной строки AppCMD. Я попробовал следующую команду: appcmd set config «MyWebName» / section:applicationPools -[name = ‘Clr4IntegratedAppPool’].processModel.idleTimeout:0.00.00.00, но ответ был: ОШИБКА ( сообщение: атрибут «[name =’Clr4IntegratedAppPool’].processModel.idleTimeout» не поддерживается втекущее использование команды. ) Как я могу настроить его для IIS Express?
2. Извините, я не уверен в IIS Express. Можете ли вы настроить его на использование реального IIS, просто чтобы проверить, что он работает таким образом?
3. Да, спасибо, я перенес проект в IIS и выполнил настройку, которую вы предложили. Проблема исчезла.
Ответ №3:
Дэниел, у меня была точно такая же проблема уже несколько месяцев, и я собирался сойти с ума от этого. Но я наткнулся на предложение запустить Visual Studio от имени администратора, и это, похоже, сработало.
Комментарии:
1. В данный момент я не работаю над этим проектом, но я вернусь с результатами, когда они у меня будут. Спасибо за предложение.