webservice应用timer的一些问题

Smile_Tiger 2003-12-05 05:34:10
(假设webservice的接口类为xxx)

1.本想在webservice项目的global.asax中实现timer,没想到调试的时候,在timer中设置断点,断点却跑到了调用webservice项目的测试项目的global.asax里面去了,为什么?

2.于是只好在webservice项目的xxx.asmx中实现timer,没想到timer虽然设计成enabled = true,但是webservice项目运行时却不主动激活timer。只好专门提供了一个接口来激活timer...

3.webservice的timer处理和对外的接口处理应该是异步的,如何进行互斥保护?我在timer里面时作的lock(this){...}处理,不知道对不对?

4.我定义了一个 public int xxx.m_TimerCount变量,然后在timer里面累加,进行timer的激活测试(timer里面将m_TimerCount写入到数据库中)。
a.开始的时候m_timerCount值的变化正常,变化为1234567....
b.在timer处理中,加入了 lock(this){...},m_timerCount不正常了,变化为11223344...
c.去掉lock(this){...},外部人为地终止timer,过一会儿再激活timer,发现timer变化紊乱了一段时间,又变正常了
...全文
49 点赞 收藏 6
写回复
6 条回复
inethax 2003年12月26日
up
回复 点赞
l_clove 2003年12月25日
高手还没来么?
回复 点赞
nyh800201002 2003年12月24日
是啊,高手来啊
回复 点赞
lanbaibai 2003年12月24日
怎么用,我也想知道
回复 点赞
nyh800201002 2003年12月23日
在WebService中如何用timer啊
回复 点赞
八爪鱼-杭州 2003年12月05日
global.asax不是有application_start吗,在那new timer不行吗?
我试过在一个winform中调用web service,但是断点并没跑过去呀,你用的是什么.net啊
再加个函数,把要lock的代码段放在里面再lock,然后在onTimeEvent中调用函数试试
回复 点赞
发动态
发帖子
Web Services
创建于2007-09-28

1.1w+

社区成员

1.6w+

社区内容

.NET技术 Web Services
社区公告
暂无公告