我正在使用启用的 Ajax-Wcf 服务开发 Asp.Net 聊天。这是一个非常简单的聊天引擎,其中消息对话框意味着一对一(单个用户),但是我不知道如何(以最佳方式)管理新消息可用性的通知。例如,假设以下场景:
每当我需要从一个用户向另一个用户发送一条新消息时,我都会编写这样的 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 服务应该实现一些静态事件来管理我需要的所有通知。
任何建议将不胜感激。谢谢你。