サーバーが Web 環境でクライアントと対話する場合、対処しなければならないかなり厳しい制限があります。ここでの回答は一般的なものになります。
クライアントからサーバーに何かを渡したい場合、通常は簡単に行うことができます。これを行う比較的一般的な方法の 1 つは、AJAX を使用することです。ASP.NET WebForms は、基本的には<form>
送信を通じて通信します。
その逆 (つまり、サーバーがクライアントへのメッセージを開始する) を行うと、より困難な使用例になります。HTTP は、その実装方法から考えると簡単client -> server
ですが、server -> client
ほぼ不可能です。それはそのために設計されていませんでした。サーバーは、クライアントが最初に要求しない限り、クライアントに何かを送信できません。そして、それが大きな問題です。サーバーが何かを送信する必要があるとき、クライアントはどのようにしてそれを知るのでしょうか? 一種の目的を打ち負かします。
確かに、それを橋渡しするために現在使用されているものがいくつかあります。より有望なものの 1 つはWeb ソケットです。これは、クライアントが要求しなくても、サーバーがクライアントにメッセージをプッシュできるようにするための堅固で具体的な方法です (IIS 7 はそのままでは Web ソケットをサポートできないことに注意してください)。ソケットAFAIK)。もう 1 つは Comet であり、定期的なポーリングによる AJAX ですらあります。
必要と思われる機能の適切なラッパーはSignalRです。しばらく使用していますが、これまでのところ非常にうまく機能しているようです。利用可能な場合は Web ソケットを使用し、利用できない場合はサイレントにフォールバックを使用します。