gpt4 book ai didi

c# - 如何从应用程序访问Windows服务的属性

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:22 25 4
gpt4 key购买 nike

我有一个 Windows 服务,它包含返回类型 DataTable 的属性

public partial class ServiceForCount : ServiceBase
{
public DataTable AllData
{
get;
set;
}
public ServiceForCount()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
}
protected override void OnStop()
{
}
protected override void OnCustomCommand(int sizeOfFile)
{
//base.OnCustomCommand(command);
}
}

如果我想从我的应用程序中调用事件,我可以这样调用

   ServiceController sc = new ServiceController("ServiceForCount");
sc.ExecuteCommand(size);

我想将 DataTable 放入我的应用程序中。我该怎么做。

最佳答案

你不能用 ServiceController.ExecuteCommand 做到这一点.这只是一种方式,它的目的不是那样。

您可以通过在 Windows 服务中托管 Web 服务(WCF 自托管、WebApi OWIN 自托管)或使用远程处理来实现。 Web 服务需要公开的只是一个返回对象列表而不是数据表的方法。因此,您需要将 DataTable 转换为 IEnumerable<DataObject>其中 DataObject是您的服务契约(Contract)。

你可以先看看这些:

  1. WebApi 2 Self Hosted Web Services .
  2. How to host a WCF Service in a managed application .

关于c# - 如何从应用程序访问Windows服务的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25030213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com