あるプロトコルでチャットに接続し、ユーザはIEの画面を通して発言したり
他者の発言を取得して画面を更新したりするプログラムを作りたいと思っています。
以下のような構造になるのかなと考えています。

【ユーザ】←HTTP→【画面側プログラム�@】←なんらかの方法→【プログラム�A】←→インターネット

�@:
ASPで、他者の発言の取得はn秒ごとにポーリングを行う。
(サーバプッシュ型にできればなお良い)

�A:
EXEにしてサービス化?ともかく常時起動しており、チャットには繋がりっぱなしにする。
�@の状態には依存しない。
ASPにして�@と同化させると、ユーザが画面を開くたびにインスタンスが新しくなってしまうのと
ユーザが画面を開かなければインスタンスを作れないので分ける必要がある(と思っている)

そこでよく分からないんですが、まず、IISの起動と終了のイベントを拾って
プログラムを動かすことができるのでしょうか。
可能なら、�@と�Aを一緒くたにして、IIS起動でチャット接続して、その状態をstaticメンバにして
全インスタンスで共有し、終了で切断するということでASP一本にできると思ってます。
これは可能でしょうか。

もう一つ、分ける場合には�@と�Aで情報のやりとりをする必要があります。
�Aでインタフェースを提供し、�@はそれを呼び出すだけという形にしたいです。
�@から見たときに利用を簡単にしたいので、できればWebサービスとしてインタフェースを
提供できないかなと思うのですが、�AがASPじゃなく普通のEXEの時に、�AでWebサービスを
実装するにはどのようにすればいいのでしょうか。
(�AがASPなら、IISが良きに計らってくれますが…)
また、Webサービスが無理ならどういう方法で通信するのがベターでしょうか。プロセス間通信とか?

妄想段階なので曖昧な点が多いのですが、アドバイスをいただければ幸いです。
よろしくお願いします。