EWLがサービスをサポートしていることは知っていますが、サービスの違いや、サービスを作成するために必要な手順がわかりません。
また、従来のサービスと同じ方法でEWLサービスを手動でデプロイすることは可能ですか、それともデプロイメントユーティリティを使用する必要がありますか?
EWLがサービスをサポートしていることは知っていますが、サービスの違いや、サービスを作成するために必要な手順がわかりません。
また、従来のサービスと同じ方法でEWLサービスを手動でデプロイすることは可能ですか、それともデプロイメントユーティリティを使用する必要がありますか?
Init
EWLサービスは、ロジックを配置できる場所が3つしかない、、、、CleanUp
およびTick
メソッドの単純なプログラミングモデルを提供します。これらのメソッド間でロジックを分割する方法を決定する以外に、考える必要はありません。また、これら3つの方法以外に柔軟性はないため、問題がこのモデルにうまく適合しない場合は、EWLサービスを使用しないでください。
既存のEWLソリューション内にEWLサービスを作成するには:
Library / Configuration / General.xmlで、次のようなセクションを下に追加します<WebApplications>
。
<WindowsServices>
<Service>
<Name>YOUR-SERVICE-PROJECT-NAME</Name>
<NamespaceAndAssemblyName>YOUR-SERVICE-PROJECT-NAMESPACE</NamespaceAndAssemblyName>
</Service>
</WindowsServices>
依存ロジックを更新します。
このクラスを含むProgram.csファイルをプロジェクトに追加します。
internal partial class Program {
static partial void initGlobalLogic( ref SystemLogic globalLogic ) {
globalLogic = new GlobalLogic();
}
}
次のようなクラスを含む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ディレクトリ内のファイルを使用して必要な処理を実行するだけです。