我剛剛上傳了我的第一個ASP.NET(作爲我學習vb.net的一部分),並陷入了連接池混亂(有趣的事情發生時,有超過1個用戶的網站)通過更好地使用try catch語句(好的想法是學習)現在排序,但我想知道這是否是最好的/最終的方法,現在如果嘗試失敗,那麼很多頁面上的細節沒有被放置/更新,所以如果你正在做一些數據庫工作,並且嘗試失敗,你是否重新加載頁面...重定向到自我,並希望它下一次工作...或只是通知用戶有錯誤,他們應該再試一次?ASP.NET邏輯/連接池和錯誤處理
感謝
我剛剛上傳了我的第一個ASP.NET(作爲我學習vb.net的一部分),並陷入了連接池混亂(有趣的事情發生時,有超過1個用戶的網站)通過更好地使用try catch語句(好的想法是學習)現在排序,但我想知道這是否是最好的/最終的方法,現在如果嘗試失敗,那麼很多頁面上的細節沒有被放置/更新,所以如果你正在做一些數據庫工作,並且嘗試失敗,你是否重新加載頁面...重定向到自我,並希望它下一次工作...或只是通知用戶有錯誤,他們應該再試一次?ASP.NET邏輯/連接池和錯誤處理
感謝
您應該defintely用於實現所有對象「using
」語句IDisposable
(如連接和讀者)。 A「用」語句被翻譯成一試,終於在幕後阻止,並確保Dispose()方法,即使出現錯誤時調用。
下面是一個代碼段例如:
using (SqlConnection conn = new SqlConnection(this.connectionString))
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "LoadFromRepository";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@ID", fileID);
conn.Open();
using (SqlDataReader rdr =
cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
while (rdr.Read())
{
// do something with read data
}
}
}
}
我絕不會自動重定向並希望它會工作,下一次(你可能會得到一個無限循環)。
通知用戶和可選的鏈接以再次嘗試。
你甚至可能要分析你的例外,看看是否另一次嘗試將有所幫助。有些例外是真正的錯誤,而另一個例外是無濟於事的。
如果發生意外錯誤,請將用戶重定向到錯誤頁面,因爲它可能會在下一次發生。
您是否查看過「使用」語句用於數據庫連接和讀取器?