0

如何从 Global.asax 中的 asp 页面(代码隐藏)访问控件或函数?

我将下面的代码用于后台任务,此代码每 60 秒检查一次新电子邮件,我想更新一个在 default.aspx 中显示新电子邮件计数的标签

void Application_Start(object sender, EventArgs e) 
{
    AddTask("CheckEmails", 10);
}

private void AddTask(string name, int seconds)
{
    OnCacheRemove = new CacheItemRemovedCallback(CacheItemRemoved);
    HttpRuntime.Cache.Insert(name, seconds, null, DateTime.Now.AddSeconds(seconds), Cache.NoSlidingExpiration,
    CacheItemPriority.NotRemovable, OnCacheRemove);
 }//addTask

 public void CacheItemRemoved(string k, object v, CacheItemRemovedReason r)
 {
    //Check New Emails and update label from .aspx
    AddTask(k, Convert.ToInt32(v));
 }//CacheItemRemoved
4

2 回答 2

0

你为什么要这样做。请提供更多信息。
虽然您可以创建一个对象Default page并调用它的函数。
但是,如果这与页面无关,那么只有它很好用。

编辑 1

您不需要它来调用 from application start
您可以在页面加载时调用此函数(在登录页面后调用)。
您可以使用相同的键检查缓存中的现有值。
如果存在,则不要修改缓存
否则将您的值放入缓存中。

于 2013-04-05T04:23:56.970 回答
0

为常用函数创建一个单独的类,将其放在 app_code 文件夹中,然后从 Default.aspx 和 global.asax 访问此函数....

于 2013-04-05T04:33:33.017 回答