使用WCF进行ASP.NET聊天

Sea*_*ean 5 asp.net wcf chat

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

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

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

Ram*_*Vel 7

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

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

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

为了实现此目的,您必须在浏览器和服务器之间实现双工通信.那么服务器将通知客户端是否有来自其他用户或他的存在的任何响应.

在ASP.Net方式:

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

在SilverLight方式:

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

双工服务合同是一种消息交换模式,其中两个端点可以独立地向另一个发送消息.因此,双工服务可以将消息发送回客户端端点,从而提供类似事件的行为

希望这可以帮助