2013-09-25 4 views
1

Я разработал приложение IIS с использованием кода C# за страницами ASPX с инфраструктурой сущностей для доступа к базе данных. Когда я запускаю его на Visual Studio Development Server, он работает нормально, но если я либо опубликую его в IIS, либо запустил его на локальном веб-сервере IIS из Visual Studio (что почти так же, как публикация, я думаю), я получаюIIS NullReferenceException при развертывании, но не в Dev-сервере

NullReferenceException: Object reference not set to an instance of an object.] 
    System.Web.Hosting.RecyclableCharBuffer.Append(String s) +15 
    System.Web.Hosting.ISAPIWorkerRequest.SendUnknownResponseHeader(String name, String value) +93 
    System.Web.HttpResponse.WriteHeaders() +233 
    System.Web.HttpResponse.Flush(Boolean finalFlush) +219 
    System.Web.HttpRuntime.FinishRequest(HttpWorkerRequest wr, HttpContext context, Exception e) +127 

Это исключение вызывается после того, как мой Home.aspx завершил загрузку страницы. Некоторые простые ASPX-страницы работают нормально. Установка точки останова NullReferenceException просто сводится к разборке.

Я застреваю за идеи о том, как отследить эту проблему. Есть предположения???

+0

после Page_Load, существует еще много событий страницы, пока он не отобразит все элементы управления. –

+1

Вы посмотрели на свой webconfig? Соответствует ли это тому, что вы использовали на своем сервере Dev? Вы вошли в IIS и настроили сервер? Создал виртуальный каталог? Это в правильном AppPool? Тонны вещей могут быть неправильными здесь. – Botonomous

+0

Ну, да, я пытался это сделать весь день, поэтому я просмотрел множество вещей. Наверное, такие вещи, как web.config, копируются как часть публикации? Моя догадка заключается в том, что это неправильная версия dll или что-то в IIS, что хорошо на сервере разработки, потому что она взята из VS, но как ее отслеживать? – khakipuce

ответ

1

Наконец-то отследили это. Некоторые из кода шаблона в мастер-странице делает

Response.AddHeader("X-UA-Compatible", (String)Application["X-UA-Compatible"]); 

при публикации приложения [ «X-UA-Compatible»] был нулевым.

Стоит знать, что наличие нулей в Response.AddHeader() вызывает подобную проблему, а не обработку нуля более изящно.

Смежные вопросы