将数据传递到Windows服务

时间:2015-01-16 14:35:24

标签: c# service console-application

我有两个应用程序模式,一个是控制台应用程序和Windows服务,两者都假设执行相同的作业控制台将接受用户输入,并且基于用户输入它将继续执行预期任务,用户输入将保存为用户设置。

我需要Windows服务才能使用相同的设置,并在后台执行与调度相同的任务。目前,我正面临从Windows服务中读取用户设置时无法使用的问题。

2 个答案:

答案 0 :(得分:1)

您可以在XML文件中保存用户设置(在运行控制台应用程序时),并在Windows服务中读取该文件并进行相应的工作

答案 1 :(得分:0)

我可以想到3种可能的路线来处理这个问题(我会在今天晚些时候更新这个,当我有更多时间时会更详细。)

首先,将应用程序组合到一个程序中。修改Program.cs,以便传入一个参数,告诉它作为控制台应用程序或服务运行。这种方法可以帮助您确保在两种用途中都做同样的事情,而无需重复大量代码。

其次,在两个项目之间共享设置文件。这似乎是你要问的基本问题。当我今晚有更多时间时,我会详细说明这一点。

第三,询问你是否真的需要服务来做你想做的事。如果服务仅在一天中的某些时间运行,那么最好还是专注于允许控制台应用程序在没有输入的情况下运行,作为计划任务。