【发布时间】:2011-08-12 15:38:04
【问题描述】:
我试图为任何页面请求执行一次代码,因此我将此代码放在 Global.asax 的 Application_PreRequestHandlerExecute 方法中。问题是对于每个页面请求,此方法可能会被调用 10 次或更多。所以,问题是如何让我的代码在每个请求中只被调用一次?我尝试将此添加到 Application_PreRequestExecute 方法中:
const string key = "scanning_forms";
object chack = HttpContext.Current.Items[key];
if (chack == null)
{
// Code I want to execute only once
}
问题是由于某种原因检查总是错误的!有任何想法吗?顺便说一句,我正在使用 Sitecore。不过,我认为这不应该很重要。
谢谢,
萨钦
【问题讨论】:
-
页面上的所有图片是否也都调用了它?
-
您实际上并没有显示要写入 HttpContext.Current.Items 的代码。是不是你的问题?
-
不,这不是问题所在。 if 语句中的第一条语句是对 httpContext 的写入。
-
我认为它也可能会在所有图像上被调用 - 是否有另一种 global.asax 方法可以用于页面请求?
标签: c# sitecore global-asax