【问题标题】:Error/Stack Trace错误/堆栈跟踪
【发布时间】:2018-09-19 07:23:14
【问题描述】:

ServiceStack 5.0.2 版

我想知道是否有人可以给我一个指向下面堆栈跟踪中显示的错误的可能原因的指针。 (我是一名初级开发人员,所以我对这一切都很陌生。)

我们有一个 ASP.net MVC 应用程序,其中集成了一些 ServiceStack.Mvc。 (我怀疑我们正在使用 ServiceStack 的身份验证提供程序功能来处理 MVC 控制器操作请求的身份验证)。

今天我们目睹了在尝试登录我们的 Web 应用程序时出现的错误。下面是出现的错误之一的堆栈跟踪。

“MyController”上的 Index 操作有一个 'Authenticate' 属性。

[Authenticate]
public class MyController : ServiceStackController<AuthUserSession>

我可以从堆栈跟踪中推断出,在调用 MVC 控制器操作后,服务堆栈 ServiceRunner 尝试执行服务(我不知道是哪一个),并且在执行方法中有某种空引用正在引发异常。

我想知道 Myths 或其他任何人以前是否曾见过这种情况,或者能否阐明服务运行者可能试图执行的服务或有关可能原因的任何信息。

重启网络服务器后问题消失

   Exception type: NullReferenceException 
    Exception message: Object reference not set to an instance of an object.   



Stack trace:    at ServiceStack.DtoUtils.CreateErrorResponse(Object request, Exception ex)
       at ServiceStack.Host.ServiceRunner`1.HandleException(IRequest request, TRequest requestDto, Exception ex)
       at ServiceStack.Host.ServiceRunner`1.Execute(IRequest request, Object instance, TRequest requestDto)
       at ServiceStack.Host.ServiceRunner`1.Process(IRequest requestContext, Object instance, Object request)
       at ServiceStack.Host.ServiceExec`1.Execute(IRequest request, Object instance, Object requestDto, String requestName)
       at ServiceStack.Host.ServiceRequestExec`2.Execute(IRequest requestContext, Object instance, Object request)
       at ServiceStack.Host.ServiceController.ManagedServiceExec(ServiceExecFn serviceExec, IService service, IRequest request, Object requestDto)
       at ServiceStack.Host.ServiceController.<>c__DisplayClass36_0.<RegisterServiceExecutor>b__0(IRequest req, Object dto)
       at ServiceStack.Host.ServiceController.Execute(Object requestDto, IRequest req)
       at ServiceStack.InProcessServiceGateway.ExecSync[TResponse](Object request)
       at ServiceStack.InProcessServiceGateway.Send[TResponse](Object requestDto)
       at MyApplication.Controllers.MyController.Index()

【问题讨论】:

标签: asp.net iis model-view-controller servicestack


【解决方案1】:

我以前从未见过此错误,但 StackTrace 源自您的 MyController.Index() 操作。

ServiceStackController 不使用网关,ExecuteServiceStackFilters 在 MVC 控制器上执行 AuthenticateAttribute 也不使用。所以我会说这是您的MyController.Index() 实现中的某些原因造成的。

【讨论】:

  • 非常感谢 Mythz,感谢您的宝贵时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
  • 2017-05-19
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多