2017-10-11 83 views
1

我得到这个错误在我的代码在这一行:C#:类型System.StackOverflowException“未处理的异常出现在system.data.dll

var cid = (from cu in dc.CUsers 
      where cu.UserName == HttpContext.Current.User.Identity.Name 
      select cu.CId).FirstOrDefault(); 

我把一个断点在此行。然后使用步骤按钮,我可以看到这条线正在执行多次,直到出现此错误。

已解决 问题是我在调用这个函数OnDataBinding而不是OnReadData(EXT.NET框架)。

+0

检查是否有围绕此行的任何递归调用 – usercr

+0

明显的问题可能是,如果这在某种程度上意味着提供者最终会填充HttpContext.Current的User属性。情况会是这样吗? –

+2

[您需要包含异常详细信息并显示堆栈跟踪](http://idownvotedbecau.se/noexceptiondetails/)。点击例外屏幕上的复制异常详细信息到剪贴板按钮,并在此处粘贴详细信息 –

回答

5

堆栈溢出异常通常意味着你正在做某种无限递归。我认为它与该行没有任何关系,除了它可能是递归函数中更耗费资源的行之一。

一旦你几次击中断点,看看堆栈跟踪,看看哪一行被调用。如果真的需要处理堆栈溢出异常,您会看到堆栈跟踪中重复的功能相同。

相关问题