使用WCF进行ASP.NET聊天

我正在寻找为ASP.NET页面实现一个聊天室界面.我正在学习WCF,它似乎适合聊天应用程序.在我太过介入WCF之前,我想确保它是在ASP.NET中开发聊天应用程序的正确选择.任何人都可以提供反馈吗?

我找到了一些主要使用Silverlight和WCF进行聊天应用的示例应用程序.如果我选择不使用Silverlight,是否有任何限制?

此外,我完全可以控制的任何WCF替代方案都非常有用.我知道我可以使用AJAX轮询,对优势/弱势群体的反馈都很感激.谢谢.

解决方法

您可以使用Native ASP.Net方法或Silverlight方法来开发漂亮的聊天应用程序.

唯一的问题是您的应用程序如何响应最终用户.响应意味着系统如何让用户感受到其他用户的体验和实时聊天体验.这在某个时候是非常实时的. (像gmail& facebook网络聊天允许用户看到用户说“用户正在打字或闲置”)

您可以使用这两种技术实现这种级别的实时外观.但实施方式略有不同.

为了实现此目的,您必须在浏览器和服务器之间实现双工通信.因此,如果有其他用户或他的存在的任何回复,服务器将通知客户端.

在ASP.Net方式:

>这完全由…控制
AJAX.
>您必须使用AJAX模拟双工通信.认情况下,HTTP不支持双工.它的一个方面.它只响应客户端请求.它无法直接调用客户端方法.
>现有技术可以实现这一目标.其中一种方法称为COMET或ReverseAJAX.
>它只是长期存在的AJAX调用,如果服务器端发生预期事件,它将响应客户端,否则它会保持冷静.这篇Comet (programming)维基百科文章解释了有关该方法的更多信息.

在SilverLight方式:

>与普通HTML页面相比,Silverlight提供了更好的用户体验.
>通过使用SL,您可以使用WCF Duplex services来实现服务器推送技术.据MSDN称,它说

A duplex service contract is a message
exchange pattern in which both
endpoints can send messages to the
other independently. A duplex service,
therefore,can send messages back to
the client endpoint,providing
event-like behavior

>这里nice example在SL中实现双工.

希望这可以帮助

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...