[英]Should stored procedures be called in OnInit, OnLoad, or OnPreRender?
我有一個典型的RadAjaxLoadingPanel
,它在按鈕單擊方法調用Response.Redirect
時觸發。 重定向頁面在OnLoad
方法中具有一些昂貴的存儲過程。 這似乎鎖定了UI,並且圓圈凍結了,直到這些存儲過程完成。 這些存儲過程是否應該保留在OnLoad
方法中? 加載防止UI鎖定的Response.Redirect
,是否有更好的實現?
protected void Button_Click(object sender, EventArgs e)
{
Response.Redirect("~/page.aspx", false);
}
做這個。 通過Management Studio或用於連接數據庫的任何設計器程序運行存儲過程。 此操作需要多長時間?
現在導航到您的程序設置程序,其中有一個后台進程來處理存儲過程的工作-但是在調用存儲過程的函數中,請確保有返回行:
return [something];
也許您想要函數或方法返回列表或值? 您必須在存儲過程運行時將某些內容返回到視圖中,以免進程受阻。
將程序中的操作執行時間與直接從數據庫中執行的時間進行比較。 在我看來,無論您的存儲過程用了多長時間,如果在OnInit,OnLoad或OnPreRender中對其進行初始化的視圖中是否需要它,都沒有關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.