wcf服务应用程序和asp.net web应用程序区别

2024-12-14 23:32:17
推荐回答(2个)
回答1:

VS里的wcf服务应用程序其实就是能够发布服务的asp.net web,这里的web site其实是wcf 发布的服务的宿主程序,当然,这个宿主程序不一定是web的,也可是windows application的,也就是说wcf的服务可以在IIS上或者windows server上发布。

wcf是一个发布供远程跨平台调用的服务的feature,可以通过http, tcp, 消息队列等方式发布供远程跨平台调用访问的service。

你说的这个是对的,其实就是在web site上发布添加WCF Service或者AJAX-enabled WCF Service文件,发布供远程调用的service, 这个web project是wcf 服务的宿主,要启动你的这个web项目,才能远程访问到发布的wcf服务

最后推荐楼主看下webservice 和 .net remoting,这里面的跨平台通信方式最后都被整合到了wcf里面,这两块有助于理解什么叫远程访问,什么是跨平台反问

回答2:

WCF其实一定程度上就是ASP.NET Web Service,因为它支持Web Service的行业标准和核心协议,因此ASP.NET Web Service和WSE能做的事情,它几乎都能胜任,跨平台和语言更不是问题(数据也支持XML格式化,而且提供了自己的格式化器)。
但是WCF作为微软主推一个通讯组件或者平台,它的目标不仅仅是在支持和集成Web Service,因为它还兼容和具备了微软早期很多技术的特性。
根据微软官方的解释,WCF是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。
WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,如Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息队列。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。
WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。