webservice应用timer的一些问题
(假设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变化紊乱了一段时间,又变正常了