我知道这里有几个关于“请求范围”全局变量的问题得到了回答,但我想挑剔一些具体的问题,也许可以从你们中的一两个人那里获得一些额外的启示
我有一个ASP.NET C#网站和一个静态对象字典(在应用程序启动时从DB加载一次)。每个页面请求都需要在Dictionary中进行查找(基于从请求url/etc派生的密钥),并获得适当的对象。
问题是,我试图通过减少每个请求对Dictionary的查找来最大限度地提高效率。在页面中只做一次查找就足够简单了,我也可以将对象传递给子控件等。。但是global.asax与Page是分开的,它还需要使用该对象(在Application_BeginRequest和Session_Start中)。
那么,在Application_BeginRequest中查找字典一次,在Session_Start中查找字典(如有必要)一次,以及在Page中查找字典的速度是否可以忽略不计,即使每秒都有许多请求
我希望我能有一个请求范围的全局变量,我可以很容易地调用它。。不过,我看到的唯一可用的是HttpContext.Current.Items,它本身就是一个Dictionary。
我是不是对效率过于挑剔?还是从长远来看,当越来越多的请求被发出时,这些毫秒(纳秒?)会让我失望吗
谢谢
PS。我目前在字典中只有大约100个对象,尽管将来可能会增加。