Ajax-Wcf サービスを有効にして、Asp.Net チャットを開発しています。これは非常にシンプルなチャット エンジンで、メッセージ ダイアログは 1 対 1 (1 人のユーザー) を意味しますが、新しいメッセージの可用性を (最善の方法で) 通知する方法がわかりません。たとえば、次のシナリオを想定します。
ユーザーから別のユーザーに新しいメッセージを送信する必要があるときは常に、次のような JavaScript コードを記述します。
// btnSend client event handler
MyWcfNamespace.MyWcfClass instance = new ..();
instance.CallMethod("message string", callBackFunction, null);
とても簡単です。ここで、反対側 (私のメッセージを受信するユーザー) から、新しいメッセージがいつ送信されたかを知るために何らかのメカニズムが必要です。ajaxタイマーを使用して、利用可能な場合は文字列メッセージを返し、利用できない場合は空の文字列を返す別のwcfメソッドを呼び出すことを考えましたが、これを達成するための最良の方法があると思います.
javascript で wcf イベントに登録する方法があれば素晴らしいと思います。
// javascript code:
MyWcfNamespace.MyWcfClass instance = new ..();
instance.OnNewMessageAvailable = myJavascriptCallBackFunction;
// And on CallBack function..
function myJavaScriptCallbackFunction(msg) {
alert('new message arraived:' + msg):
}
明らかに、私の wcf サービスは、必要なすべての通知を管理するために静的イベントを実装する必要があります。
任意の提案をいただければ幸いです。ありがとうございました。