首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >新手系统监控方法

新手系统监控方法
EN

Stack Overflow用户
提问于 2012-10-18 15:14:04
回答 1查看 164关注 0票数 0

我正在编写一个代理来使用用C# (.NET)编写的Windows服务来监视和收集各种Windows系统设置/信息。主服务在启动时从配置文件中读取,并在列表中存储它必须运行的所有测试。然后,计时器以适当的频率运行各个方法。我已经创建了一个类库,其中包含用于检查服务、regkey、获取系统信息等的各个类。主服务中的方法在将数据写入文件并上传到主服务器之前,使用类库中的方法来获取其信息。类中的大多数方法都是静态的(尽管有些不是)。记住,这些方法将在一天中以设定的频率重复调用,这使它们成为静态的好主意或坏主意。内存使用情况稳定,但比我预期的25-30MB要高一点。有没有人能在我做这件事的方式中看到任何巨大的缺陷?

我的WriteToFile和WriteToLog方法都是静态空的,并且在被调用时都会创建和释放StreamWriter。我想知道这是否有意义,或者我应该用不同的方法(比如在服务启动时创建一个StreamWriter并将其传递给WriteTo方法)。

另一件我不理解的事情是,我从一个文本文件加载一个检查列表来运行,文本文件只有3KB大小,但与文本文件为空相比,它需要额外的7MB内存。

EN

回答 1

Stack Overflow用户

发布于 2012-10-18 16:10:37

Baring记住,这些方法将在一天中以设定的频率被重复调用,这使得它们静态是一个好主意,也是一个坏主意。

将方法设置为静态并不会显著提升性能。

当你设计一个系统时,你应该问自己:“我如何测试它?”

测试一个基于静态类的系统是很困难的,您不能轻易地将需要独立测试的东西隔离开来(为此,您必须使用Moles )。

在静态类中包含核心逻辑系统也很难维护,因为您无法限制它的作用域。

内存使用情况稳定,但比我预期的25-30MB要高一点。

如果您的程序将在桌面平台上运行,那么不要担心,30MB对于一台现代桌面计算机来说并不算什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12949059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档