C# windows服务订阅webserver

标签 c# popup windows-services webserver

我正在开发一个 Intranet 网站。 每当网站上发布新内容时,所有用户都应该从网络服务器获得桌面弹出窗口。

我想制作自己的 Windows 服务来订阅服务器(使用 SignalR 之类的东西),然后该服务会显示一个简单的弹出窗口,在服务器发出消息时通知用户。

但是我没有自己构建它,而是想知道是否已经有这样的东西了。我一直在四处寻找,但找不到任何东西。

我主要是一名 Web 开发人员,从未构建过 Windows 服务或 C# 桌面应用程序,因此我更愿意使用一些现有代码。

有人知道这样的事情吗?

最佳答案

要构建 Windows 服务,请尝试 Top Shelf:http://docs.topshelf-project.com/en/latest/ 一般来说,它很容易,如一、二、三...

public class TownCrier
{
    readonly Timer _timer;
    public TownCrier()
    {
        _timer = new Timer(1000) {AutoReset = true};
        _timer.Elapsed += (sender, eventArgs) => Console.WriteLine("It is {0} and all is well", DateTime.Now);
    }
    public void Start() { _timer.Start(); }
    public void Stop() { _timer.Stop(); }
}

public class Program
{
    public static void Main()
    {
        HostFactory.Run(x =>                            
        {
            x.Service<TownCrier>(s =>                   
            {
               s.ConstructUsing(name=> new TownCrier());
               s.WhenStarted(tc => tc.Start());         
               s.WhenStopped(tc => tc.Stop());          
            });
            x.RunAsLocalSystem();                       

            x.SetDescription("Sample Topshelf Host");   
            x.SetDisplayName("Stuff");                  
            x.SetServiceName("Stuff");                  
        });                                             
    }
}

关于C# windows服务订阅webserver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30391747/

相关文章:

c# - SQL SMO - 检查用户是否是服务器管理员

xcode - 如何禁用每次打开 RStudio 时出现的 "git requirement" pop 窗口?

javascript - 如何使用 Javascript 从弹出窗口本身的源页面执行在 html 弹出窗口中实时创建/打印的 function() ?

c# - 通过 Windows 服务将 pdf 文件发送到打印机

c# - ServiceBase服务错误193 :0xc1 on Windows XP

c# - Convention Over Configuration——这是一个合适的场景吗?

c# - 如果返回 null 或 int,则为单行

c# - 从 Xml 文件中检索一些数据

javascript 在访问的第三页上弹出弹出窗口

c# - 我应该在 Windows 服务器中的什么位置设置 TLS 安全协议(protocol)?