在lambda方法(MVC ASP)中未将对象引用设置为对象的实例

时间:2012-10-19 01:17:18

标签: asp.net-mvc iis internet-explorer-8 lambda

我正在开发MVC中的应用程序。当我在每个浏览器中进行调试时,一切都很有效。 问题是,一旦我在服务器中安装应用程序,我无法使其工作,因为它只在IE8中显示了下一个异常,:

Object reference not set to an instance of an object.
   at Eco.Administration.Web.UI.Controllers.CatalogController.ProcesarListaFactoresPorFiltro(String Rama, String TipoCredito, String Periodo, String Ubicacion)
   at Eco.Administration.Web.UI.Controllers.CatalogController.EcoEditaXML(String Ram, String Tip, String Perio, String ubica, Int32 Id, String mensaje)
   at *lambda_method(Closure ,* ControllerBase , Object[] )
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)

我已经意识到当我在控制器中删除一行(lambda函数)时,它可以正常工作。

有人知道IE8中是否存在与lambda函数相关的问题? 它可能是IIS中的错误配置吗?

1 个答案:

答案 0 :(得分:0)

对于在研究同一问题时绊倒这个问题的人来说,这更多。我自己就是经历过的。我有这行代码永远在我的应用程序中工作:

STemplate stemplate = db.STemplates.Include(t=>t.STemplateTabs).Where(t=>t.Id == id).FirstOrDefault();

突然之间,我开始得到这样的例外:

  

System.NullReferenceException:未将对象引用设置为实例   一个对象。在   WebUI.Areas.Admin.Controllers.STemplateController.Details(的Int32   id)在lambda_method(Closure,ControllerBase,Object [])
  在System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext   controllerContext,IDictionary`2参数)等......

我一直盯着我无辜的路线,试图找出可能会破坏的东西。一时兴起,我解雇了SQL Server Profiler并看到该呼叫实际上已经通过了!问题出在我的查询下面的行。在我的情况下,我设置的cookie值应该在web.config中,但不存在,因此空引用异常。另一个原因是每次都要进行适当的部署,而不是快速替换服务器上的DLL来快速修复。

祝你好运!