Сеанс отладки Visual Studio 2013 останавливается через 1 минуту после входа в систему с идентификатором AspNet

#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 вашего приложения, затем:

  1. Щелкните правой кнопкой мыши на пуле приложений и выберите Дополнительные настройки
  2. В разделе «Модель процесса» установлено 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. В данный момент я не работаю над этим проектом, но я вернусь с результатами, когда они у меня будут. Спасибо за предложение.