【问题标题】:Object reference not set to an instance of an object at lambda method (MVC ASP)对象引用未在 lambda 方法(MVC ASP)中设置为对象的实例
【发布时间】:2012-10-19 01:17:17
【问题描述】:

我正在用 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 中的错误配置?

【问题讨论】:

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


    【解决方案1】:

    这更适合人们在研究相同问题时偶然发现这个问题。我只是亲身经历过。我的这行代码一直在我的应用程序中运行:

    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 以快速修复问题。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2013-01-19
      • 2013-07-26
      • 2021-09-14
      • 2020-04-13
      • 2013-03-21
      • 2015-09-27
      • 2014-10-15
      • 2013-03-21
      • 1970-01-01
      相关资源
      最近更新 更多