c# - 可以动态接受控制台命令的 Windows 服务应用程序

标签 c# visual-studio visual-studio-2008 windows-services console-application

我只是想对我正在从事的项目提出一些意见。基本上,我正在创建一个服务,它通过命令行监视和处理由配置文件和其他参数指定的目录中的新文件。它还应该通过命令行输出文本,即当用户输入“-help”时,它会显示它的用法。一个目标是让用户可以即时更改配置文件,因此该服务将不断监视配置文件的更改并进行相应调整。

我看到的挑战是尝试巩固通过命令行输入命令、显示输出的能力,就好像它是控制台应用程序一样,并让服务能够在服务中运行时处理这些命令控制管理器。到目前为止,在我的研究中,我偶然发现的解决方案似乎展示了如何创建一个 Windows 服务应用程序,该应用程序也可以作为控制台应用程序运行,但它要么作为一个运行,要么作为另一个运行,而不是同时运行。任何建议或意见表示赞赏。

更新:

谢谢大家的建议,我做了一些reading在各种 Windows 支持的 IPC 机制上。我将我的选择归结为文件映射、命名管道和 RPC。我现在假设 Windows 服务应用程序和 Helper Console 应用程序将位于同一台计算机上,并且不需要通过网络进行通信。我将首先查看命名管道。

最佳答案

服务需要提供与之通信的可能性,但这不能直接完成,必须通过某种 IPC(进程间通信)来完成,这可以是 .net Remoting、WCF、tcp/ip。您将必须编写一个帮助程序来解析命令行并使用此 IPC 将命令发送到服务,该服务可以在接收到它时采取适当的行动。

关于c# - 可以动态接受控制台命令的 Windows 服务应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4136650/

相关文章:

c++ - 随机 1 Unresolved external 错误

javascript - 如何让 Visual Studio 记住 javascript 设置

c# - 在 C# 中快速解析 PHP

c# - 通过 RadDataFilter 过滤 RadTreeView 项目

c++ - 从 Qt 切换到 Visual C++ 之前,我需要了解什么?

c# - 请求有关 Visual Studio 2008 的 Windows CE 平台的信息

c# - 在 Visual Studio 中显示不友好的 HTTP 500 错误

c# - MEF - 是否必须以某种方式设置导入或者它们可能为空?

c# - 为什么在 Active Directory 中将用户的 "Primary Group"从 "Domain Users"更改为阻碍对用户的递归搜索?

node.js - Visual Studio Team Services Azure 部署(无法对指定目录执行操作 ("Delete File")