Прерывистое исключение NullReferenceException при компиляции веб-сайта .NET - PullRequest
1 голос
/ 06 апреля 2011

У нас есть большое веб-приложение, написанное с использованием WebForms на C # с использованием .NET, и у нас странная проблема. Надеюсь, кто-то может помочь. У нас есть среда тестирования под управлением IIS7, и всякий раз, когда мы загружаем измененные файлы (.aspx, .aspx.cs, .ascx, .ascx.cs и т. Д.), Мы получаем следующее исключение при попытке доступа к измененным страницам - но только в течение примерно 30 секунд. Тогда приложение работает правильно.

[NullReferenceException: Object reference not set to an instance of an object.]
   System.Web.Script.Services.WebServiceData.GetWebServiceData(HttpContext context, String virtualPath, Boolean failIfNoData, Boolean pageMethods, Boolean inlineScript) +251
   System.Web.Script.Services.PageClientProxyGenerator.GetClientProxyScript(HttpContext context, IPage page, Boolean debug) +49
   System.Web.UI.ScriptManager.RegisterServices() +511
   System.Web.UI.ScriptManager.OnPagePreRenderComplete(Object sender, EventArgs e) +120
   System.Web.UI.Page.OnPreRenderComplete(EventArgs e) +8699694
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1029

Как вы видите, веб-служба не может инициализироваться из-за того, что что-то имеет значение null, может быть, HttpContext?!

Это происходит только на регулярной основе в этой среде тестирования, это происходит на наших локальных машинах, но очень редко. Это никогда не происходит в производственной среде. Сначала я думал, что это как-то связано с инструментарием управления AJAX, который мы используем. Я не могу найти ничего задокументированного об этом, кроме нескольких тем на форуме без ответов.

Не совсем уверен, как я могу сузить это дальше. У нас есть промежуточная среда, работающая на той же машине , которая не испытывает проблемы. Я мог бы создать новый сайт в IIS и указать на него, чтобы посмотреть, поможет ли он, и любые предложения приветствуются.

Как всегда, спасибо за ваше время.

1 Ответ

0 голосов
/ 07 апреля 2011

Если это происходит только при обновлении файлов, это может произойти из-за перекомпиляции, которая происходит при этом. Это может быть особенно верно, если это большой сайт. У меня была похожая проблема с моим сайтом.

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

...