C# System.Core.dll中的堆栈溢出异常

C# System.Core.dll中的堆栈溢出异常,c#,asp.net-mvc,C#,Asp.net Mvc,是否有人可以帮助我调试此问题: 我正在开发一个MVC网络应用程序。我有一个动态路由系统,它将路由作为友好URL存储在数据库中。我所有友好的url逻辑已经运行了好几个月了,所以它可能与错误无关 今天早上,当我导航到一个特定的url,即~/Login时,我突然在System.Core.dll库中发现了Stackoverflow异常。此mvc路由指向控制器操作(AccountController.Login())。该操作由自定义actionfilter赋予属性,但无论是操作筛选器还是操作代码都不会被命

是否有人可以帮助我调试此问题:

我正在开发一个MVC网络应用程序。我有一个动态路由系统,它将路由作为
友好URL
存储在数据库中。我所有友好的url逻辑已经运行了好几个月了,所以它可能与错误无关

今天早上,当我导航到一个特定的url,即
~/Login
时,我突然在
System.Core.dll
库中发现了
Stackoverflow
异常。此mvc路由指向控制器操作(
AccountController.Login()
)。该操作由自定义actionfilter赋予属性,但无论是操作筛选器还是操作代码都不会被命中

我可以停止使用断点的最后一个代码是
global.asax
FormsAuthentication\u OnAuthenticate
方法。此方法运行良好,并设置用户的角色(此时没有角色,因为用户尚未登录)。然后,它退出此方法,然后立即抛出
Stackoverflow
异常

我找不到任何其他受影响的页面,但无法对其进行适当的测试,因为我无法登录到管理页面(其中可能也存在问题)


有谁能告诉我如何获得有关导致此问题的更多信息吗?

找到了!我使用依赖项注入来注入一个服务,该服务本身正在调用原始服务,因此它进入了一个无限循环,解析相同的两个依赖项!如果Unity能够识别出这样的问题并提供更多的细节,那就太好了。

在我的例子中,我在选项>调试中选中了启用我的代码,它成功了

你能得到堆栈跟踪吗?为了有效地回答这个问题,我们需要堆栈跟踪;System.Core.dll中不太可能有bug,所以很可能是您的代码。我们无法告诉您问题是什么,除非您可以包括堆栈跟踪和1)一个复制此问题的小程序或2)堆栈跟踪带来的代码。这是调试过程中的问题之一,visual studio调试环境没有堆栈跟踪,因为堆栈已溢出(溢出?):)-但我刚刚弄明白问题是什么:我自己的愚蠢。我使用依赖项注入来注入一个服务,该服务本身正在调用原始服务,因此它进入了一个无限循环,解析相同的两个依赖项!如果Unity能够认识到这样一个问题并给出更多细节,那就太好了。这是4个小时,我再也回不来了。