关于global.asax文件中timer问题

bb_chen 2010-01-22 04:21:21
因程序服务端采用web services,想在服务端定时检查其是否在授权使用日期内,如在使用日期外,则不能使用。
目前遇到的问题是无法在其运行期间定时检查。我本来是打算在global.asax文件中用timer实现,但是发现没有效果。
以下为我目前方法的部分代码:

public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
Application["usercount"]=0;
//System.Timers.Timer myTimer = new System.Timers.Timer(60000);
//myTimer.Elapsed += new System.Timers.ElapsedEventHandler(myTimer_Elapsed);
//myTimer.Interval = 60000;
//myTimer.Enabled = true;

System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 60000;
timer.Elapsed += new System.Timers.ElapsedEventHandler(myTimer_Elapsed);
timer.Start();
}

void myTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
AuthorInfo();
}
int i = 0;
private void AuthorInfo()
{
Application.Lock();
i = i + 1;
Application["usercount"] = i.ToString();
Application.UnLock();


然后我在网页上显示 Application["usercount"]的值,发现一直是0,

请大家帮忙看看是否写的不对,或者提供其他的解决方法。谢谢
...全文
177 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bb_chen 2010-01-22
  • 打赏
  • 举报
回复
谢谢各位,我上面给的代码也可以正常运行,是timer事件中其他代码有错误。不好意思
bb_chen 2010-01-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fengyunshier 的回复:]
应用程序开始运行并且调用了Application_Start之后,如果再访问同一页面或该虚拟目录下的其他页面,那么Application_Start不会再运行了的,就算是浏览器都关掉再打开,都不会再运行Application_Start了的,global是这样的处理机制。
这样的话,我觉得你那个timer是不起作用的。
[/Quote]

我在Application_Start启动的是timer
fengyunshier 2010-01-22
  • 打赏
  • 举报
回复
应用程序开始运行并且调用了Application_Start之后,如果再访问同一页面或该虚拟目录下的其他页面,那么Application_Start不会再运行了的,就算是浏览器都关掉再打开,都不会再运行Application_Start了的,global是这样的处理机制。
这样的话,我觉得你那个timer是不起作用的。
gdlpc 2010-01-22
  • 打赏
  • 举报
回复
不用:
Application.Lock();
Application.UnLock();
此两句试试,
我试过加锁了就不能用。
mngzilin 2010-01-22
  • 打赏
  • 举报
回复
static int i = 0;
abcyzq 2010-01-22
  • 打赏
  • 举报
回复
用System.Threading.Timer类。
paulgerchen 2010-01-22
  • 打赏
  • 举报
回复
mark
ttg520 2010-01-22
  • 打赏
  • 举报
回复
up

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧