1

非常に基本的な NT サービスで、現在自己ホストされているいくつかの WCF サービスがあります。アプリケーションを拡張して、WCF サービスのプロビジョニング、更新、および分離を追加したいと考えています (各 WCF サービスを独自の AppDomain に配置したい)。これらの WCF サービスには、定期的に実行する必要があるロジックが含まれており、データベースに ping を実行し、外部デバイスから情報を取得して、要求が受信されたときにデータをすぐに利用できるようにします。

Windows Activation Service を試してみることを考えています。なぜなら、管理されたサービス インフラストラクチャに付属するプロビジョニングと分離が非常に気に入っているからです。WAS を使用していなければ、基本的に同じコードを自分で書かなければなりませんでした。

私が理解していることから、WASは、誰かが実際にサービスのメソッドを呼び出す前にサービスを実行するモデルを実際にはサポートしていません。ここで読んだ記事

MSDN 記事のリンク

「これは本質的に、すぐに使用できる WAS ホスティングは、セッションフルまたはシングルトン サービスに実際に適しているものではないことを意味します。ステートレスな呼び出しごとのサービスにより適しています。」

「すぐに使える」と書かれているので、実際にNTサービスのように動作するWCFサービスをホストするためにWASを使用した人がいるかどうか疑問に思っています(メソッドが呼び出されるのとは独立して開始および停止します)。または、他のアイデアは素晴らしいでしょう。このインフラストラクチャを自分で作成して、カスタム ServiceHost で WCF サービスをホストし、それらの実行を別の AppDomain に配置し、初期インストール後にこれらのサービスを更新と共に提供できるようにすることを計画していました。ただし、必要がなければ、そのコードを所有しない方がはるかに多くなります。

ありがとう

ジョシュア

4

1 に答える 1

0

WAS を使用する場合、サービスの適切なシングルトン インスタンスをサポートするのは難しいでしょう。

本当に必要なのは、スケジュールされたタスクを作成することです。スケジュールされたタスクから 5 分ごとにデータベース更新ユーティリティを実行でき、シングルトンに汗をかく必要はありません。

于 2010-06-17T21:47:31.250 に答える