显示Windows服务进度的ASP.NET应用程序

本文关键字:ASP NET 应用程序 Windows 服务 显示 | 更新日期: 2023-09-27 18:21:54

我有一个C#Windows服务和一个ASP.NET 4.0 web应用程序,它们目前彼此独立,托管在同一网络中。

Windows服务从数据库中读取数据,并在每次调用时生成一个文本文件。

我的意图是

a) 从ASP.NET应用程序调用Windows服务。读了一点之后,似乎可以使用ServiceController类轻松地完成这项工作。

b) 在客户端(浏览器)上显示Windows服务的实时进度

我最初的想法是在服务中有一些全局变量,然后可以通过远程asp.net应用程序访问,但我想知道最好的方法是什么。

显示Windows服务进度的ASP.NET应用程序

这是一篇关于在Windows服务中托管WCF服务的MSDN文章:

如何:使用TCP在Windows服务中托管WCF

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

Kevin的上述回答似乎是个好主意。但如果你真的想有一个不同的服务&不带wcf、的页面

我会选择不把asp.net应用程序和windows服务捆绑在一起。相反,我会这样做。

  • 接受来自asp.net页面的某种命令到将侦听命令的服务中。这可以通过套接字或msmq消息等
  • 收到命令后,执行请求
  • 在执行过程中,使用COMET方法更新asp.net页面