我在c#中創建了一個相當簡單的方法,但我在頁面上的任何地方都使用它。有沒有辦法減少方法調用,我的意思是一旦調用方法,返回值存儲在某處,我使用該值代替。這是我的代碼。代碼優化:通過存儲返回值來減少方法調用
我已經聲明瞭一些像這樣的公共屬性。
public OrderCollection GetAllClickCollectOrders
{
get
{
return GetClickCollectOrderDetails(Session["SelectedStorePostCode"].ToString());
}
}
public OrderCollection GetShippedClickCollectOrders
{
get
{
return GetShippedClickCollectOrderDetails();
}
}
,這裏是方法..
protected OrderCollection GetClickCollectOrderDetails(string postcode)
{
// some database ziggy wiggy...
return cncOrderCol;
}
protected OrderCollection GetShippedClickCollectOrderDetails()
{
// some database ziggy wiggy...
return cncShippedOrderCol;
}
因此,可以說WHN我要收集我我這樣叫它。
BindGridView(GetAllClickCollectOrders);
orderCount.Text = "Total orders placed: " + GetAllClickCollectOrders.Count;
if (isShipped.Checked)
{
BindGridView(GetShippedClickCollectOrders);
orderCount.Text = "Total orders shipped: " + GetShippedClickCollectOrders.Count;
}
所以每當我使用屬性,它每次調用方法和進入數據庫,並返回我結果。但是,除非我更改Session["SelectedStorePostCode"]
值,否則大部分時間結果都是相同的。我在想,是否有更好的方法來存儲某個地方的結果並使用它。
注:代碼工作正常,但我正在尋找更好的性能。謝謝你們...
Ÿ不首先檢查是否存在會話的變化[ 「SelectedStorePostCode」]值或not..then通話功能.. –
你有什麼嘗試?你有沒有想過一個簡單的緩存?爲什麼它不適合你? – GameScripting
我根本沒有想過緩存。但我認爲這會使頁面更加沉重,因爲我不確定返回集合有多少記錄。它可能是1,100,1000 .. –