读书人

ArcEngine, windows服务程序老自动停止

发布时间: 2012-06-05 13:54:06 作者: rapoo

ArcEngine, windows服务程序老自动停止的问题
我加了个System.Timers.timer控件,
我在属性中设置了
timer1.Interval 为 30000;
timer1.Enabled 为true;
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
IWorkspaceFactory wsf = new FileGDBWorkspaceFactoryClass();
IWorkspace ws = wsf.OpenFromFile(@"F:\xiaoluoGIS\testFGDBSource.gdb", 0);
System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
}
为什么在服务启动后能够运行一次或两次后,就不能再运行了,然后再查看服务时服务停止了,这是为什么,查看进程管理器,发现所占内存越来越大,
我在winform里测试过,是可以多次执行的

[解决办法]
这个还是跟踪一下日志吧
[解决办法]
还有,把IWorkspaceFactory 什么的设成全局的
IWorkspace ws = wsf.OpenFromFile(@"F:\xiaoluoGIS\testFGDBSource.gdb", 0);
改成
IFeatureWorkspace ws = wsf.OpenFromFile(@"F:\xiaoluoGIS\testFGDBSource.gdb", 0);
试试

读书人网 >C#

热点推荐