繁体   English   中英

如何在EWL中创建和部署Windows服务?

[英]How do I create and deploy a Windows service in EWL?

我知道EWL支持服务,但是我不确定它们之间有什么区别,或者我必须采取什么步骤来创建服务。

另外,是否可以以与常规服务相同的方式手动部署EWL服务,还是必须使用部署实用程序?

EWL服务为您提供了一个简单的编程模型,只有三个地方可以放置逻辑: InitCleanUpTick方法。 除了决定如何在这些方法之间划分逻辑之外,无需思考。 除了这三种方法之外,还没有灵活性,因此,如果您的问题不完全适合此模型,请不要使用EWL服务。

在现有的EWL解决方案中创建EWL服务:

  1. 将Windows服务项目添加到您的解决方案。 将其命名为“ Windows Service”或其他名称。 将其设置为使用EWL NuGet包,就像解决方案中的其他项目一样。
  2. 在Library / Configuration / General.xml中,在<WebApplications>下添加类似以下的部分:

     <WindowsServices> <Service> <Name>YOUR-SERVICE-PROJECT-NAME</Name> <NamespaceAndAssemblyName>YOUR-SERVICE-PROJECT-NAMESPACE</NamespaceAndAssemblyName> </Service> </WindowsServices> 
  3. 更新依赖逻辑。

  4. 显示服务项目中的隐藏文件,并添加生成的代码/ISU.cs。
  5. 将一个Program.cs文件添加到项目中,其中包含此类:

     internal partial class Program { static partial void initGlobalLogic( ref SystemLogic globalLogic ) { globalLogic = new GlobalLogic(); } } 
  6. 将CAMEL-CASED-SERVICE-PROJECT-NAME.cs文件添加到项目中,该文件包含类似于以下内容的类:

     internal partial class CAMEL-CASED-SERVICE-PROJECT-NAME { string WindowsServiceBase.Description { get { return "..."; } } void WindowsServiceBase.Init() {} void WindowsServiceBase.CleanUp() {} void WindowsServiceBase.Tick() {} } 
  7. 删除项目中似乎不需要的所有样板文件。

我相信您可以手动安装EWL服务。 只需进行构建,然后对bin目录中的文件进行任何操作即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM