在ibatis.net 项目中 使用 quartz遇到的问题
在ibatis.net的项目中,使用quartz 是会报如下错误:
异常:IBatisNet.Common.Exceptions.IBatisNetException: WebSessionStore: Could not obtain reference to HttpContext
原因:是由于quartz在调度job里,已经不在httpcontext环境里了
解决办法: 在这句 mapper = builder.Configure(doc);之后加:
CallContextSessionStore ss = new CallContextSessionStore(mapper.Id);
mapper.SessionStore = ss;
总结:在web里使用quartz不是十分可靠的,因为 asp.net的进程随时可能被回收,建议写个windows service服务程序,在里面运行quartz。