1

EWLがサービスをサポートしていることは知っていますが、サービスの違いや、サービスを作成するために必要な手順がわかりません。

また、従来のサービスと同じ方法でEWLサービスを手動でデプロイすることは可能ですか、それともデプロイメントユーティリティを使用する必要がありますか?

4

1 に答える 1

1

InitEWLサービスは、ロジックを配置できる場所が3つしかない、、、、CleanUpおよびTickメソッドの単純なプログラミングモデルを提供します。これらのメソッド間でロジックを分割する方法を決定する以外に、考える必要はありません。また、これら3つの方法以外に柔軟性はないため、問題がこのモデルにうまく適合しない場合は、EWLサービスを使用しないでください。

既存のEWLソリューション内にEWLサービスを作成するには:

  1. ソリューションにWindowsサービスプロジェクトを追加します。「Windowsサービス」などの名前を付けます。ソリューション内の他のプロジェクトと同様に、EWlnuGetパッケージを使用するように設定します。
  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ディレクトリ内のファイルを使用して必要な処理を実行するだけです。

于 2012-07-18T13:50:56.893 に答える