服务强人请进

manica 2010-08-05 09:50:40
我最近写了一个服务,同一个程序分别在两台机器上运行,访问量大的机器出现内存泄露,访问量小的机器下不会泄露

我采用的模式是gcServer. 不知道是不是这个问题,请有经验的高手给个指点
...全文
74 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
熙风 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyazhe 的回复:]
没写过服务,如果长期运行的一个程序,要注意对实现了IDispose的类要自己调用Dispose。注意有些写法是无法释放的,例如:
Image.FromFile
Assembly.FromFile
程序退出之前或AppDomain卸载之前这个资源无法访问到。也无法卸载,释放。会一直在垃圾回收待回收之外,即便你不使用了。
[/Quote]

顶······
gauzeapricot122 2010-08-05
  • 打赏
  • 举报
回复
顶 下
兔子-顾问 2010-08-05
  • 打赏
  • 举报
回复
没写过服务,如果长期运行的一个程序,要注意对实现了IDispose的类要自己调用Dispose。注意有些写法是无法释放的,例如:
Image.FromFile
Assembly.FromFile
程序退出之前或AppDomain卸载之前这个资源无法访问到。也无法卸载,释放。会一直在垃圾回收待回收之外,即便你不使用了。
xuhautian 2010-08-05
  • 打赏
  • 举报
回复
同感,gc的处理模式应该不会去考虑你的内存泄漏问题的。你再找找别的纰漏。
healer_kx 2010-08-05
  • 打赏
  • 举报
回复
gc只是用于你的逻辑写得正确的情况下的垃圾回收。如果从root开始,你始终有对象(没用的)依然可以被root track到,是没有办法垃圾回收的。C#和Java依然存在内存泄露就在于此。gcServer保证不了什么的。

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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