質問

wsDualHttpBindingを使用してクライアントへのコールバックを有効にする既存のWCFサービスがあります。パフォーマンスを向上させるためにnetTcpBindingに移行することを検討していますが、IISでホストされているサービス(現在私たちが楽しんでいる「コンフォートゾーン」)から、それをホストする独自のWindowsサービスに移行することは非常に慎重です。 IIS 7でこれをホストできることを望んでいましたが、しばらくの間、Win2K8は現実ではありません。

WCFサービスをホストする独自のWindowsサービスを作成する際に注意すべきことは何ですか?ライフタイム管理やリクエストの調整などは、IISホスティングで無料で提供される機能です。IISに苦労することなく、独自にサービスを効果的にホストする方法を知りたいです。ありがとう! :)

役に立ちましたか?

解決

したがって、WASを使用してホストすることはできないため、実現することがいくつかあります。

  • サービスがクラッシュした場合、デフォルトでは再起動しません(ただし、サービスプロパティで変更できます)
  • IISは、ハングしたり、大きくなりすぎたりすると、アプリケーションプールをリサイクルします。同じ種類の信頼性が必要な場合は、これを自分で行う必要があります。
  • サービスを実行するアカウントを作成するか、デフォルトのサービスのいずれかを使用する必要があります。 SYSTEMとして、または管理者アカウントでサービスを実行する誘惑に応えます。ビルトインアカウントを使用する場合は、NETWORK SERVICEを使用します。
  • in situでのデバッグが難しくなります。
  • log4netなどのエラーロガーの使用を検討する

9か月前に顧客向けにWCF / Windowsサービスの組み合わせを展開したと述べました。頻繁に使用され、一度も死んだことはありません。

リクエストスロットル Windowsサービスでは、WCF構成の一部です。デフォルトは非常に低いことに注意してください。これらを増やす必要がある可能性があります。

他のヒント

Windowsサービスアプリケーションでのホスティング( http://msdn.microsoft。 com / en-us / library / ms734781.aspx )は良いスタートです。

Vistaでサービスをホストできる場合は、Windowsプロセスアクティブ化サービス(WAS)も利用できます。 WASはIISプロセスアクティブ化の一般化であり、非HTTPエンドポイント(TCP、名前付きパイプ、MSMQ)でプロセスをアクティブ化するために使用できます。 WASでホストされるWCFの詳細については、 http://msdn.microsoftをご覧ください。 com / en-us / library / ms733109.aspx 。 WASのインストールおよび構成方法については、 http://msdn.microsoftをご覧ください。 com / en-us / library / ms731053.aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top