我正在开发一个应用程序,将是实施为 Windows服务 我想知道什么是最好的方式来处理不同 设置 (在用户和应用程序级别)。事实是,我并不完全熟悉的(尚未)与所有可用的选项,因此原则上我喜欢.净自己 系统。配置 (ConfigurationManager.RefreshSection("若")似乎诱人的),但我仍然未能理解全貌,即,哪里是 应用程序。config 文件正被存于一个特定的服务,等等。

所以我的问题你们这些家伙,什么是最好的方式来存储用户可编辑配置的详细信息对于给定的Windows服务?感谢大家前进的反馈意见。

有帮助吗?

解决方案

嗯...'用户可编辑'的配置设置Windows服务...

要记住的是,Windows服务运行的背景,因此它不具有直接的方式为用户进行互动。我做了什么得到围绕这是创建一个独立的前端应用程序通用的Windows服务使用WCF。在这一方式,'用户可编辑'的设置将保留一部分作为前端应用程序的设置,不Windows服务。设置简单地传达到Windows服务使用的一系列周转基金的消息,因为用户的变化。

在我的情况下,我即使增加了一个NotifyIcon我的前端应用程序和加入的逻辑因此,该应用程序可以删除,从任务时,它是最小化。它的工作方式相同任务管理不当你打开的'隐藏的时候最小化。这给用户的错觉的相互作用的直接服务,即使它是两个完全独立的进程。

编辑:

在应对你的评论,WCF是一个简单的消息。信息通常被定义为类装饰用的DataContract和将数据属性。在与,并必须为属性的定义WCF服务接口。一旦这些定义,创建和主办的WCF服务在你的Windows服务是容易的。如果你有Visual Studio2008年,建立的客户-方代理是一个单元作为VS2008可以自动化。

一旦所有这一切都是,你的前端应用程序简单的实例的实例客户的代理,并调用的方法上,代理。为每一种方法是援引,WCF框架需要照顾的序列化和发送信息到WCF服务对它采取行动。它然后将任何反应,包括例外情况,回到代理。从这个角度的客户端,例如,前端应用程序,你们只需援引的功能。这是美丽的WCF!它非常类似于socket programming,除了你之外没有管理的连接。WCF需要照顾的所有管道。

当然,所有这一假设你至少可以使用。净3.0.如果您使用的是Visual Studio2008,你状态很好。这里有几个教程,可以帮助你开始:

一旦您的基本概念下,我要推荐看Juval洛伊的 网站.有很多免费WCF有关的下载那里,我发现很有用来看待,尽管它是一个比较先进。了解WCF概念第一次在探讨之前的太远。

再次,这是帮助你的用户配置的各个方面,Windows服务。如果你不提前结束GUI要做到这一点,我不知道他们怎么会做简短的手动操纵的程序。配置文件本身。

希望这会有所帮助。

其他提示

如果您只需要一个名称/值字典来存储配置参数,那么app.config是最简单的答案。在您的解决方案中,它被称为“app.config”,但是当它构建时,它会被重命名为可执行文件的名称+“。config”。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top