在Windows服务中调用CRUD操作

时间:2015-01-14 09:00:46

标签: c# windows-services

您好我正在尝试了解Windows服务是如何工作的,但我无法理解如何将服务公开给客户端。这就是我到目前为止所做的:

我创建了Windows服务项目,并在命令提示符下使用installUtil安装了该服务。

这是WidnowsService中的代码:

partial class EmployeeService : ServiceBase
{
    public EmployeeService()
    {
        InitializeComponent();
    }

    protected override void OnStart(string[] args)
    {
        System.IO.File.Create(AppDomain.CurrentDomain.BaseDirectory + "OnStart.txt");
    }

    protected override void OnStop()
    {

        System.IO.File.Create(AppDomain.CurrentDomain.BaseDirectory + "OnStop.txt");
    }
}

我从计算机管理服务启动了该服务并停止了它,并看到OnStart.txt和OnStop.txt正常工作。

我想问的是我如何从客户端应用程序这个Windows服务项目。例如,我有一个具有CRUD操作的类,我怎么称它为Web.Api项目呢?

1 个答案:

答案 0 :(得分:0)

您可以在服务中使用自托管WCF服务或更好的自我托管服务Nancy

有自我托管Nancy here的文档。然后客户端可以调用WCF服务或调用基于Nancy的API。有很多选择。

额外提示,请查看Topshelf,这使得编写Windows服务变得更加人性化。

有一篇关于使用TopShelf服务自我托管Nancy的博客文章here