2012-10-16 37 views
2

我在asp.net中創建了一個登錄頁面,並在asp.net成員中創建了一個用戶和角色,登錄後我在頁面加載中查詢方法來檢查用戶的角色,並根據該用戶顯示頁面的視圖,但我收到此錯誤。SQL Server異常:超時過期。在操作完成之前超時時間已過或服務器沒有響應

超時已過期。在完成 操作或服務器沒有響應之前已經超時。

我的代碼:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Page.User.Identity.IsAuthenticated) 
    { 

     if (Roles.IsUserInRole("Manager")) 
     { 

      NavigationMenu.Visible = false; 
      NavigateMenu1.Visible = true; 

       creategrid(); 
     } 
    } 
} 

爲我跑我的第一次應用此異常只發生,當我刷新頁面嘗試重新登錄再有就是沒有例外。請幫助我,因爲我是新手。

+0

你可以嘗試通過你的代碼調試,找出哪個命令拋出異常?這似乎是一些查詢運行時間比應該更長。我建議從Global.asax文件中的Application_Start()方法開始。 – 2012-10-16 05:04:50

回答

2

錯誤消息是想說的是,它採取更長的時間來建立比默認的超時時間的連接..

雖然你可以增加超時,我建議你不要做..

找出它發生的原因。如果它頻繁發生,那麼可能是您的連接池可能沒有足夠的連接,如果這樣,您可以增加最小池大小或最大池大小,並具有合理的連接生存期

請參閱http://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.71).aspx

1

在命令對象中設置commandTmeout屬性。您SqlCommand

cmd.CommandTimeout = 9000;

1

添加超時。請加上時間在second

// Setting command timeout to 1 second 
cmd.CommandTimeout = 1; 
相關問題