Asp.net core ASP.NET核心基类不适用于托管IIS服务器上的某些用户

Asp.net core ASP.NET核心基类不适用于托管IIS服务器上的某些用户,asp.net-core,Asp.net Core,在我的ASP.NET核心MVC项目中,所有应用程序控制器都继承自一个基类,该基类具有一些公共属性和每个派生类都将实现的方法。奇怪的是,只有某些用户(而不是所有用户)会出现以下错误。执行时,代码会在wait next()上出错。代码在我使用IISExpress或Kestrel的开发工作站上运行良好。有人知道为什么吗 BaseController.cs中的MyProject.Controller.BaseController.OnActionExecutionAsync(ActionExecuti

在我的ASP.NET核心MVC项目中,所有应用程序控制器都继承自一个基类,该基类具有一些公共属性和每个派生类都将实现的方法。奇怪的是,只有某些用户(而不是所有用户)会出现以下错误。执行时,代码会在wait next()上出错。代码在我使用IISExpress或Kestrel的开发工作站上运行良好。有人知道为什么吗

BaseController.cs中的MyProject.Controller.BaseController.OnActionExecutionAsync(ActionExecutionContext,ActionExecutionDelegate next) o Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g_|13_0(ControllerActionInvoker invoker,Task lastTask,State next,Scope Scope,object State,bool isCompleted) o Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g_|24_0(ResourceInvoker invoker、Task lastTask、State next、Scope Scope、object State、bool isCompleted) o Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed上下文) o Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref状态Next、ref范围、ref对象状态、ref bool已完成) o Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g_|19_0(ResourceInvoker invoker、Task lastTask、State next、Scope Scope、object State、bool isCompleted) o Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g|u waiting | 17|0(ResourceInvoker invoker,Task Task,IDisposable作用域) o Microsoft.AspNetCore.Routing.EndpointMiddleware.g_uwaitRequestTask | 6_0(端点、任务请求任务、ILogger记录器) o Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext上下文) o Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext上下文) o Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext上下文) •@Ivan Vargas 感谢您指出空检查。我的密码有一个输入错误。相反,它应该如下所示。
if(_signInManager.IsSignedIn(委托人))
{
CustomIdentityUser CustomIdentityUser=await_userManager.GetUserAsync(主体);
if(customIdentityUser!=null&&customIdentityUser.Claims.Count()!=0)
{
_userProfile.LastName=customIdentityUser.LastName?.ToUpper();
_userProfile.FirstName=customIdentityUser.FirstName?.ToUpper();

_userProfile.NetworkName=customIdentityUser.NetworkID?.ToUpper()
很难从显示的堆栈跟踪中看出,有一些事情看起来可疑。例如,您在访问
customIdentityUser
的属性时,没有首先检查此对象是否为null。此外,即使该对象不是null,您也在调用
ToUpper
和其他字符串方法来处理这些属性。您是这些属性保证为非空?是否保证不会引发异常?