コンテンツへスキップ

Service Busで公開するWCFサービスは、IISではなくWindowsサービス、Webロールではなくワーカーロールでホストすべきのようだ

2011年7月28日

WEBロールでService Bus経由で公開するWCFサービスをホストしてるんですが、どうもアプリケーションプールがリサイクルされているっぽく、しばらく放置するとクライアント側でチャネルがオープンできなくなる現象に遭遇しました。WCFサービスは、Application_StartでSeviceHostをオープンしています。

さて、リサイクルされてもすぐに起動させるべく調べていたところ、下記のフォーラムスレッドにたどり着きました。

How do I Host an app fabric service under IIS?

http://social.msdn.microsoft.com/Forums/en-US/netservices/thread/8b6a16ba-c8e0-4323-8cb9-1eec31a4632d

ふむふむ、「Windowsサービスでホストしましょう」、

「アプリケーションのリサイクルに注意しましょう」、そうそう、そこなのよ。コネクションが切断されっぱなしになっちゃうんですよね。

Appwarmup module というIIS7.5向けの拡張があって、それを使うと回避できるようなことがボチボチと見受けられたのですが、どうもダウンロードできなくなっているんですよね。

定期的にワーカーロールからWEBロールの適当なページにアクセスさせて、アプリケーションプールを起こしっぱなしにするように細工しようかな・・・。

あるいは、ワーカーロールでWCFサービスをホストするか・・・。

現時点から最も修正が少なくて済むのは前者、スマートなのは後者、ううーん悩みます。

Host WCF in an Azure worker role (CSAzureWCFWorkerRole)

http://code.msdn.microsoft.com/CSAzureWCFWorkerRole-38b4e51d

From → .NET, Azure

コメントする

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。