Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在EWL中创建和部署Windows服务?_C#_Windows Services_Enterprise Web Library - Fatal编程技术网

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

C# 如何在EWL中创建和部署Windows服务?,c#,windows-services,enterprise-web-library,C#,Windows Services,Enterprise Web Library,我知道EWL支持服务,但我不确定它们有什么不同,或者我必须采取什么步骤来创建服务 另外,是否可以以与传统服务相同的方式手动部署EWL服务,或者我必须使用部署实用程序?EWL服务提供了一个简单的编程模型,您只需在三个位置放置逻辑:Init、CleanUp和勾选方法。除了决定如何在这些方法中划分逻辑之外,不需要思考。除了这三种方法之外,也没有任何灵活性,因此如果您的问题不适合此模型,请不要使用EWL服务 要在现有EWL解决方案中创建EWL服务,请执行以下操作: 将Windows服务项目添加到解决方案

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


另外,是否可以以与传统服务相同的方式手动部署EWL服务,或者我必须使用部署实用程序?

EWL服务提供了一个简单的编程模型,您只需在三个位置放置逻辑:Init、
CleanUp
勾选
方法。除了决定如何在这些方法中划分逻辑之外,不需要思考。除了这三种方法之外,也没有任何灵活性,因此如果您的问题不适合此模型,请不要使用EWL服务

要在现有EWL解决方案中创建EWL服务,请执行以下操作:

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

  • 将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() {}
    }
    
  • 删除项目中任何看起来不必要的样板文件


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

    EWL服务为您提供了一个简单的编程模型,您只需在三个位置放置逻辑:Init、
    CleanUp
    Tick
    方法。除了决定如何在这些方法中划分逻辑之外,不需要思考。除了这三种方法之外,也没有任何灵活性,因此如果您的问题不适合此模型,请不要使用EWL服务

    要在现有EWL解决方案中创建EWL服务,请执行以下操作:

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

  • 将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() {}
    }
    
  • 删除项目中任何看起来不必要的样板文件


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

    如果我当前没有库/Configuration/General.xml,并且这是使用EWL的解决方案中的第一件事,我可以只使用WindowsServices部分吗?我是否需要设置与服务无关的任何其他EWL内容才能使依赖更新的逻辑工作?我认为您不需要web项目,但您可能需要一个包含配置文件夹的库项目。在配置内部,您可能需要
    Development.xml
    General.xml
    Installations/Development/Standard.xml
    @GregSmalter:另外,这些XML文件的架构将在下一个EWL版本后联机。如果我当前没有库/Configuration/General.XML,并且这是我使用EWL的解决方案中的第一件事,那么我可以只使用WindowsServices部分吗?我是否需要设置与服务无关的任何其他EWL内容才能使依赖更新的逻辑工作?我认为您不需要web项目,但您可能需要一个包含配置文件夹的库项目。在配置内部,您可能需要
    Development.xml
    General.xml
    Installations/Development/Standard.xml
    @GregSmalter:此外,这些xml文件的架构将在下一个EWL版本后联机。
    internal partial class CAMEL-CASED-SERVICE-PROJECT-NAME {
      string WindowsServiceBase.Description { get { return "..."; } }
      void WindowsServiceBase.Init() {}
      void WindowsServiceBase.CleanUp() {}
      void WindowsServiceBase.Tick() {}
    }