QA@IT

.Net Webサービスで常に同一のスレッドを使用させたい

1917 PV

IIS7.0で Webサービスを作成しているのですが、あるサービスだけ要求をすべて同じワーカースレッドで受け付けて且つ、スレッドの初回でのみ行いたい処理があるのですが、その場合、Webサービスの設定値(詳細設定画面)で制御する事は可能でしょうか?
現在、サービスを作って コンストラクタ(New)に最初だけ行いたい処理を記述してみたのですが、下記のサイトの記載にあるように、New()は要求毎に実行されてしまいます。ただ、毎回という訳ではなく、たまに同じスレッドが使いまわされて想定した動き(2回目以降Newされない)をしてくれる場合があります。
尚、サービス自体は単純で、要求のタイミングは少ないので、ボトルネック等の心配はないです。
Webサービスの設定値(詳細設定画面)の各値の意味が良くわかっていないので設定に困っています。
よろしくお願いします。
参考サイト:http://webcache.googleusercontent.com/search?q=cache:http://csharper.blog57.fc2.com/blog-entry-12.html

回答

ワーカースレッドって。。。
なぜ同一のスレッドで動作させたいのでしょう?
サービスの設定でそのような動かし方させるほうが面倒なはず。
理由というか実現したい内容によってはApplicationオブジェクトをつかって、プログラムで制御できると思います。

あと、初回になにかしたい、ということならGlobal.asaxのApplication_Startとかにやりたい処理を実装すればよいかと。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。