C# 在IIS上运行的ASP.Net WebAPI应用程序上出现间歇性NullReferenceException
我们的一台服务器上出现了一些间歇性问题,其中api出现间歇性500,并出现以下错误,然后在一段时间后继续出现,直到我们重新启动iis或服务器。这不会发生在本地IIS上C# 在IIS上运行的ASP.Net WebAPI应用程序上出现间歇性NullReferenceException,c#,asp.net,iis,asp.net-web-api,C#,Asp.net,Iis,Asp.net Web Api,我们的一台服务器上出现了一些间歇性问题,其中api出现间歇性500,并出现以下错误,然后在一段时间后继续出现,直到我们重新启动iis或服务器。这不会发生在本地IIS上 [NullReferenceException: Object reference not set to an instance of an object.] System.Web.PipelineModuleStepContainer.GetStepArray(RequestNotification notificatio
[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.PipelineModuleStepContainer.GetStepArray(RequestNotification notification, Boolean isPostEvent) +30
System.Web.PipelineModuleStepContainer.GetEventCount(RequestNotification notification, Boolean isPostEvent) +8
System.Web.PipelineStepManager.ResumeSteps(Exception error) +1243
System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) +111
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +493
这发生在IIS 7.5上,应用程序是使用.net 4.5构建的。有时,对于2000个请求,它运行正常,然后每隔几个请求就抛出500个。
我想知道这是否是订单或http模块的问题,但我不知道为什么它只是偶尔发生
知道如何排除故障或修复此问题吗?请共享您的代码,存在未正确处理的对象空检查。听起来像是资源泄漏,您正在处理所有已使用的资源吗?它可以在其他服务器上工作。相同的代码。我要求一个新的服务器构建(这是UAT环境),但我想了解它背后的原因。如果没有任何代码,很难猜测。你知道哪个变量是空的吗?应该用哪行代码来设置它?这将是一个很好的开始。@JohnWu我不确定是哪一行或哪一个变量,因为它是.net内部库。我想知道这是否与IIS上的任何配置有关,因为它在其他服务器上运行良好。这不是在其他环境下运行的代码。我们创建了一个新服务器,它工作正常。没有变化。