微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取有关Windows服务的内部状态的信息

我有一个Windows服务,我在.NET C#编写。 该服务将作为一个文件处理器。 它只是监视文件创build事件的目录,并将这些文件添加到队列进行处理。 一个单独的线程从队列中提取文件并处理它们。

我的问题是,是否有一种方法查询Windows服务,以获得其“国家”。 我想能够以某种方式查询服务,并看到当前在队列中等待的文件列表

我知道这可以通过/ proc文件系统在Linux中完成,我想知道是否有类似的Windows。 任何提示/指针将不胜感激。

如何以编程方式login到窗口7,8桌面

Sapi不停地向所有(一个)进程窗口发送击键

我怎样才能知道我创build的文件是在当前用户的login会话中创build的?

如果wpf应用程序没有响应,然后自动重启

为什么Process.Start会意外返回false

Windows XP中的.NET Framework 2.0是否可选?

在列表中find一个项目的特定关键字

启动一个执行委托的新进程

使用C#禁用Windows的animation效果

HTTPWebResponse原始响应,使用reflection

如果您正在查找非UI方法(例如将名称写入文件或标准输出),则可以在服务上使用ExecuteCommand方法

ServiceController sc = new ServiceController("ServiceName"); sc.ExecuteCommand(255);

这只是将此命令传递给您的服务,您的服务将通过OnCustomCommand处理它

protected override void OnCustomCommand(int command) { base.OnCustomCommand(command); if (command == 255 { ... // Your code here } }

您可能需要将您的队列/服务状态存储在一个静态变量中,以便您可以从OnCustomCommand例程访问它。

您可以使用任何您需要访问该状态的方法在Windows服务中创建托管的WCF服务。

http://msdn.microsoft.com/en-us/library/ms733069.aspx

WCF会很好的做到这一点,特别是它可以托管在Windows服务。 可能是在你的情况下,使用WCF与XML-RPC是有意义的

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐