ASP.NET 3.5 WCF服务简介
在过去的几年中,Web服务一直在大做宣传,宣称提供了跨平台的服务。实现证明,Web服务的确支持在不同的平台上使用客户机和服务器。此外,通过定义一个WSDL契约,可以提前计划版本的改变,从而有效地避免已有的客户机和服务器可能出现的崩溃。目前,微软ASP.NET是用于开发Web服务的重要技术之一。Web服务在ASP.NET和JAVA等平台上的广泛应用是Web服务技术生命力鲜活的有力佐证。
然而,在ASP.NET Web服务中存在的问题是,它使用的是HTTP协议(通过WSE 2.0,也可以使用TCP信道),用SOAP协议进行XML串行化的速度不够快,一些扩展功能很难使用。Web服务技术的确在提供跨平台服务方面迈出了重要的一步,但是在建立涉及到许可的可交互操作服务、需要保证消息的传输、要求独立于平台的身份验证、授权和机密性等方面,仅仅依赖于Web服务已经表现得相当吃力。
随着.NET 3.0框架的正式推出,WCF(Windows通信基础)闪亮登场。WCF的核心目的是,允许程序与同一台计算机或网络上的或跨越互联网的其它程序实现通讯。此模型把以前在网络上使用服务的四种重要技术即Web服务、.NET远程技术、分布式事务和消息队列统一到单个面向服务的编程模型中,从而实现真正意义上的分布式计算。WCF代表了微软通信技术的未来发展方向。因此,从原则上讲,凡是需要使用上面四种技术的开发都可以使用WCF代之。
尽管如此,现实的Web开发环境不可能使开发人员全部选择***的WCF通信技术。也就是说,基于ASP.NET 2.0 Web服务技术的应用目前乃到将来几年中仍会占有相当的市场份额。
ASP.NET AJAX框架极大地简化了从ASP.NET应用程序中调用本地服务乃至远程服务的操作,甚至提供了许多内置的服务器服务,例如用户身份验证服务和用户个性化服务等。
【注意】在.NET框架 3.5以前,WCF中并没有实现对于JSON数据的内置支持。如今,随着.NET框架 3.5的正式推出,WCF已经实现了对于JSON串行化与非串行化的支持。现在的WCF服务可以根据开发需要有选择地输出JSON,而不是和以前那样仅能支持SOAP模式封装的数据。
【编辑推荐】