Прерывистое исключение System.InvalidOperationException, возникающее в веб-приложении ASP.NET MVC после сброса IIS в веб-ферме

У нас есть функционирование ASP.NET MVC 5.2.2 сайт работает на .NET Framework 4.5.1 размещены на веб-ферме с многочисленными серверами. Веб-приложение интегрируется с AppyDynamics. AppDynamics .NET Agent 4.3.2.1 установлен на каждом сервере. Я заметил, что это устаревшая версия, но мы пока не можем ее обновить.

Мы используем StructureMap для нашего IoC.

<package id="structuremap" version="3.1.1.134" targetFramework="net451" />
<package id="StructureMap.MVC5" version="3.1.1.134" targetFramework="net451" />
<package id="structuremap.web" version="3.1.0.133" targetFramework="net451" />

Иногда что-то происходит по всей ферме, возможно, с помощью:

  • WebDeploy
  • Перезагрузка сервера
  • Ручной сброс IIS

Существует вероятность того, что одно из веб-приложений на уязвимом узле не будет работать должным образом. Он запустится, но IoC никогда не будет выполнен, что приведет к следующей ошибке:

System.InvalidOperationException: 
An error occurred when trying to create a controller of type 'TestController'. Make sure that the controller has a parameterless public constructor. 
---> System.MissingMethodException: No parameterless constructor defined for this object.

Мы не можем доказать это, но мы думаем, что агент AppDynamics перехватывает приложение IIS в самый неподходящий момент. Веб-приложение запускается, но IoC не настроен, следовательно, ошибка выше.


Мои вопросы

  1. Это известная проблема? Я действительно сделал поиск в Интернете

  2. Если вы испытали это, у вас есть представление о возможных причинах?

  3. Как мы можем исправить эту досадную ошибку для наших клиентов?

  4. Это так же просто, как обновить что-то? Нравится StructureMap и AppDynamics?


редактировать

  • Веб-приложение развертывается в общей сетевой папке, которая передает все веб-серверы в ферме.:(

  • Настройка IoC должна работать, если она работает для всех остальных узлов. Эта проблема возникла после установки агентов AppDynamics.

  • Это происходит только в том случае, если IIS перезагружается по всей ферме. Один из сайтов на этом узле выдаст ошибку, о которой я упоминал выше.

  • Я все еще расследую на моей стороне

Application_Start() от Global.asax, Чтобы получить четкое изображение, нажмите на него.

Global.asax

0 ответов

Другие вопросы по тегам