我在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 .. –