私は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;
}
だから、私がコレクションが欲しいとき、私はそれをこのように呼んでいるとしましょう。
BindGridView(GetAllClickCollectOrders);
orderCount.Text = "Total orders placed: " + GetAllClickCollectOrders.Count;
if (isShipped.Checked)
{
BindGridView(GetShippedClickCollectOrders);
orderCount.Text = "Total orders shipped: " + GetShippedClickCollectOrders.Count;
}
したがって、プロパティを使用するたびに、毎回メソッドが呼び出され、データベースに移動して結果が返されます。Session["SelectedStorePostCode"]
ただし、値を変更しない限り、ほとんどの場合、結果は同じです。その結果をどこかに保存して使用するためのより良い方法があるかどうかを考えていました。
注:コードは正常に機能しますが、より良いパフォーマンスを探しています。みんなありがとう...