2013-04-27 2 views
0

У меня проблема в моем веб-приложении. Когда я тестировал локальное приложение, у меня не было никакого исключения, когда я опубликовал приложение, а затем выбросил много нулевых исключений или вроде «Ссылка на объект, не установленная на экземпляр объекта». Я не понимаю, почему. Я использую хостинг http://1and1.pl/. Кто-нибудь может мне помочь?ASP MVC 4 Null Исключение только на сервере

Стек трассировки:

[NullReferenceException:. Ссылка на объект не указывает на экземпляр объекта] QuestionnaireEx.Controllers.QuestionnaireController.TestStart (AttemptAnswers Atta, Строка prevBtn) +7267 lambda_method (Закрытие, ControllerBase, Object []) +119 System.Web.Mvc.ActionMethodDispatcher.Execute (контроллер ControllerBase, параметры Object []) +14 System.Web.Mvc.ReflectedActionDescriptor.Execute (ControllerContext controllerContext, IDictionary 2 parameters) +182 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 параметра) +27 System.Web.Mvc.Async. <> c_ DisplayClass42.b _41() +28 System.Web.Mvc.Async. <> c_ DisplayClass8 1.<BeginSynchronous>b__7(IAsyncResult _) +10 System.Web.Mvc.Async.WrappedAsyncResult 1.End() + 50 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod (IAsyncResult AsyncResult): +32 System.Web.Mvc.Async. <> c _DisplayClass39.b_ 33() +58 System.Web.Mvc.Async. <> c _DisplayClass4f.b_ 49() +225 System.Web.Mvc.Async. <> c _DisplayClass4f.b_ 49() +225 System.Web.Mvc.Async. <> с _DisplayClass37.b_ 36 (IAsyncResult AsyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResult 1.End() +50 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34 System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +24 System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +99 System.Web.Mvc.Async.WrappedAsyncResult 1.End() + 50 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction (IAsyncResult AsyncResult) + 27 System.Web.Mvc. <> c _DisplayClass1d.b_ 18 (IAsyncResult asyncResult) +14 System.Web.Mvc.Async. <> с _DisplayClass4.b_ 3 (IAsyncResult соток) +23 System.Web.Mvc.Async.WrappedAsyncResult 1.End() +55 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +39 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult 1.End() +55 System.Web.Mvc.Controller.EndExecute (IAsyncResult AsyncResult) +29 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute (IAsyncResult asyncResult) +10 System.Web.Mvc. <> c _DisplayClass8.b_ 3 (IAsyncResult asyncResult) +25 System.Web.Mvc.Async. <> с _DisplayClass4.b__3 (IAsyncResult соток) +23 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +55 System.Web.Mvc.MvcHandler.EndProcessRequest (IAsyncResult AsyncResult) +31 системы. Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest (результат IAsyncResult) +9 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9629296 System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep , Boolean & completedSynchronously) +155

+0

Что-нибудь в журналах слияния или окон? –

+0

thats all, я могу добавить, что это исключение встречается в случайных случаях – mati

+0

Можете ли вы показать код действия TestStart? – devdigital

ответ

0

Убедитесь, что локальная конфигурация такая же, как на сервере, который вы используете.

Например, если вы размещаете в IIS, настройте локальный сервер IIS с теми же настройками, что и на удаленном сервере.

Если ваш хост 1and1 является общим, посмотрите на свою локальную конфигурацию и получите телефон с поддержкой 1and1, чтобы узнать, какие различия между локальной и удаленной конфигурацией.

Возможно, вам придется перейти на VPS или выделенный сервер в зависимости от ваших потребностей в конфигурации.

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

ли вы опубликовать источник MVC контроллер метод, который вызывается? Кроме того, значения каждого члена в методе, когда он работает на сервере? Это поможет в процессе оценки вашего вопроса.

Кроме того,

Я просто понял, что lambda_method(Closure , ControllerBase , Object[]) +119 находится на второй линии трассировки стека.

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

+0

проблема была на сервере, этот хостинг очень слабый – mati

+0

проблема была устранена при переходе на лучший сервер? Кстати, я не знаю, слышали ли вы о windows azure или пытались его использовать, но для веб-приложений их хостинг веб-сайтов велик. У них есть другие варианты, если у вас есть больший бюджет. –

+0

, но я этого не делаю, p в этом сеансе сервера вымирает – mati