2017-10-11 63 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

堆棧溢出異常通常意味着你正在做某種無限遞歸。我認爲它與該行沒有任何關係,除了它可能是遞歸函數中更耗費資源的行之一。

一旦你幾次擊中斷點,看看堆棧跟蹤,看看哪一行被調用。如果真的需要處理堆棧溢出異常,您會看到堆棧跟蹤中重複的功能相同。

相關問題