2012-07-21 55 views
4

正如我在VS2012調試器中看到的,方法Membership.GetUser()首先嚐試創建表'應用程序'(使用CREATE TABLE NonQuery),獲取表已存在的異常,然後爲我返回正確的MembershipUser。我不明白,爲什麼它試圖創建現有的表?每次調用GetUser或GetAllUsers都會嘗試創建現有的表...它會消耗性能,我想擺脫這種情況。爲什麼Membership.GetUser()試圖創建表應用程序?

我使用.NET Framework 4.5,MVC4,用於用戶和角色的新數據庫方案(不帶aspnet_前綴)。

謝謝你的幫忙!

+0

我也有這個問題,但只有當我安裝Mini-Profiler。否則,我不會得到這個錯誤! – bPratik 2012-09-03 09:35:53

回答

1

當它試圖初始化數據庫時,它應該只在每個應用程序域中執行一次。即使不在每個頁面請求上重置服務器,您是否也收到這些異常?

+2

即使使用相同的方法,我也可以每次調用GetUser或GetAllUsers!如果我調用它10次,我有10個例外......它將服務器的CPU加載100%。我從來沒有見過這個(我在ASP.NET上創建了超過100個項目)。現在我寫了自己的會員供應商。它工作速度非常快,沒有錯誤。但是這個問題並沒有解決。我花了大約8個小時,並且一無所知。瘋狂。 – 2012-07-24 17:41:35

相關問題