首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

与Remoting相比,为什么WCF性能如此之慢?

WCF(Windows Communication Foundation)是微软提供的一种用于构建分布式应用程序的框架。与Remoting相比,WCF在性能方面可能会慢一些,原因如下:

  1. 灵活性和复杂性:WCF提供了更多的灵活性和功能,使得它更适合构建复杂的分布式系统。然而,这也导致了更多的配置和处理开销,从而影响了性能。
  2. 消息传输方式:WCF支持多种消息传输方式,如HTTP、TCP、MSMQ等。这种灵活性使得WCF能够在不同的网络环境中运行,但同时也增加了额外的开销和处理时间。
  3. 序列化和反序列化:WCF使用XML作为默认的消息格式,这需要进行序列化和反序列化操作。相比之下,Remoting可以使用二进制序列化,这在性能上更高效。
  4. 通信协议和编码:WCF使用SOAP协议进行通信,并使用XML编码消息。SOAP协议和XML编码相对较重,会增加网络传输的负担和处理时间。

尽管WCF在性能方面可能相对较慢,但它在构建复杂分布式系统时具有很多优势和应用场景。例如:

  1. 企业级应用程序:WCF提供了强大的安全性、可靠性和事务支持,使其成为构建企业级应用程序的理想选择。
  2. 跨平台和跨语言通信:WCF支持多种传输协议和编码方式,使得不同平台和语言之间的通信变得更加容易。
  3. 服务导向架构(SOA):WCF支持基于服务的架构,使得系统的各个组件可以通过定义和公开服务接口进行通信和交互。

对于使用WCF的开发者,腾讯云提供了一些相关产品和服务,例如:

  1. 云服务器(CVM):提供可扩展的虚拟服务器实例,用于部署和运行WCF应用程序。
  2. 云数据库(CDB):提供高可用性和可扩展性的数据库服务,用于存储和管理WCF应用程序的数据。
  3. 云监控(Cloud Monitor):提供实时的监控和报警功能,帮助开发者监控WCF应用程序的性能和可用性。
  4. 云安全中心(Cloud Security Center):提供全面的安全管理和威胁检测服务,保护WCF应用程序免受网络攻击和数据泄露的威胁。

更多关于腾讯云的产品和服务信息,您可以访问腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WCF入门学习(1,2)

所谓的可交互就是说一个程序可以和其他任意的应用通信,且不受语言与平台的限制。WebService 是可交互的,.Net Remoting 不是(看名字就知道了)。 为什么要用WCF。...有如下情况,我们要为两个客户端提供一个服务,一个是java客户端,需要通过http提供xml格式的数据,另一个.net 客户端,为了有更好的性能,.net 客户端需要服务通过tcp协议提供二进制数据。...这时候WCF就派上用场了。 如果没有WCF,为了达到上面的目的,我们需要给java客户端实现一个ASMX WebService,给.net 客户端实现一个remoting service。...接下去是.net Remoting 。...没有用过.net Remoting,视频上也说了,今天的主角是WCF,根据百度百科,从功能上来说,WCF是WebService ,.Net Remoting 以及其他一些东西的集合。

36320

WCF,Net remoting,Web service

由于WCF完全是由托管代码编写,因此开发WCF的应用程序与开发其它的.Net应用程序没有太大的区别,我们仍然可以像创建面向对象的应用程序那样,利用WCF来创建面向服务的应用程序。    ...4、兼容性     WCF充分的考虑到了与旧有系统的兼容性。安装WCF并不会影响原有的技术如ASMX和.Net Remoting。...即使对于WCF和ASMX而言,虽然两者都使用了SOAP,但基于WCF开发的应用程序,仍然可以直接与ASMX进行交互。...性能 从原始性能方面来讲,使用 TCP 信道和二进制格式化程序时,.NET Remoting 管线能够提供最快的通信。...在我们进行的比较 ASP.NET Web 服务和 .NET Remoting 的相对性能的几乎所有的测试中,ASP.NET Web 服务在性能上都超出了使用 HTTP 或 TCP 信道的 SOAP 格式化程序的

1.5K50
  • WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制

    实例与会话是WCF非常重要的两个特性,它们既相对独立,又互相制约。实例模式与对会话支持程度的不同组合,会让最终的服务表现出截然不同的行为。...对实例管理和会话的合理利用,对于改善和提高WCF服务应用的可扩展性(Scalability)、性能(Performance)、吞吐量(Throughput)等具有决定性作用。...实际上可以将WCF的双向通信理解成一种对等通信,通信的双方是对等的参与者,并没有严格的服务端和客户端之分,或者说通信的双方交替地扮演着服务与客户的角色。...WCF实例上下文模式与.NET Remoting的远程对象激活方式类似,同样具有三种不同的实例上下文模式,分别与上述三种激活方式匹配。...会话模式与.NET Remoting下的CAO远程对象激活模式类似,图3揭示了会话模式下实例上下文、服务实例和服务代理之间的关系。 ?

    99390

    我的WCF之旅(8):WCF中的Session和Instancing Management

    对于承载着某个业务功能的实现的Service应该具有Context无关性、甚至是Solution无关性,也就是说个构成Service的operation不应该绑定到具体的调用上下文,对于任何调用,具有什么样的输入,就会有与之对应的输出...这种方式和Remoting中的SingleCall相似。...这种方式和Remoting中的CAO相似。 Singleton:这种方式和Remoting的Singelton相似。不过它的激活方式又有点特别。...当为对应的Service type进行Host的时候,与之对应的Service Instance就被创建出来,此后所有的Service调用都被forward到该Instance。...实际上会为每个Service调用创建一个Service Instance,这实质上就是PerCall的Instance Context Mode,但我为什么会说默认的是PerSession呢?

    27120

    2019-1-23-wcf入门(1)

    今天开一个新坑WCF的入门教程 ---- 什么是WCF wcf - Windows Communication Foundation,是微软设计的一个构建SOA的一个应用程序框架。...在我看来WCF更适合被看做一个统一的通信编程模型。在WCF之前,微软推出过Web Service,.NET Remoting以及基础的Winsock等通信框架。...这也是为什么许多人将WCF称为微软分布式应用开发的集大成者。 WCF的体系结构 ?...而WCF对其做了统一封装,以便于上层业务的调用。例如HTTP通道就是对Http协议实现的WCF封装,TCP通道就是对TCP协议的实现封装。...个人理解,WCF体系中可以将协定和服务运行时(行为)归到应用层,消息传递(通道)和激活承载(host)归到基础层。 基础层是服务与应用层的,是从现有成熟技术中“拿”过来的。

    66810

    快速入门系列--WCF--02消息、会话与服务寄宿

    WCF服务是否支持会话?WCF所提供的服务是单例的呢还是单调的呢?服务寄宿和客户端代理是如何实现的呢?...接下来,将以这些问题为线索进行深入学习,包容包括XML序列化与SOAP消息、会话与实例、服务寄宿与客户端代理。 ?...Tip:高性能和可伸缩性是软件设计与架构中永远不可同时兼顾的,高性能需要充足的资源,高扩展性需要尽可能的节约资源,所以才有软件架构是意向"权衡"的艺术,目的不是使得各方面达到最优,而是找到一个平衡点使得整体最优...那么如何实现RPC呢,简单来说,如果需要在A域(应用程序域)调用B域创建对象,那么B域需要为该对象创建其引用System.Runtime.Remoting.ObjRef对象,并将其按值封送带A域。...实际上,代理对象包含两种类型,一种是上面提到的透明代理,另一种为System.Runtime.Remoting.Proxies.RealProxy表示的真是代理。

    1.3K50

    .NET Remoting 之了解

    CLR Object Remoting 是.NET Remoting 的一个重要方面。所有的语言结构(如构造函数、委托、接 口、方法、属性和字段等)都可以与远程对象一起使用。....目前,网络通信的佳选择是WCF。WCF 提供 ASP.NET Web 服务的功能,如 平台无关性,以及.NET Remoting 为.NET 与.NET 通信提供的性能和灵活性。....当然,这两种格式化程序都可以与 TCP 信道一起使用。   ...使用 SOAP 格式化程序可以与不是基于.NET Framework 的Web 服务 通信。二进制格式化程序速度更快,可以有效地用在内部网环境中。当然,也可以创建自 定义格式化程序。...接收器与信道相关联。真实的代理使用消息接收器把消息传递到信道中,因 此,在消息进入信道之前,接收器可以进行截获工作。

    84110

    我所理解的Remoting(1):Marshaling & Activation

    Remoting有两种Activation 方式——Server Activation 和Client Activation。...Activation有具有两种不同的Mode——SingCall和Singleton(SingleCall和Singleton严格地说是关于Instance Management的概念——这个概念在WCF...这个结构其实是我比较鄙视的分布式结构——Client端和Server通过Share一个Type System来共享整个Service(包括Interface和Implementation ,在WCF中我们这两部分称为...一个GetCallCount用所Add方法调用次数的计数器,这个计数器用来验证Remoting 的Instance Management。...我们现在来分析一下为什么会有如此输出结果: 我们在04:40:02和04:40:12创建了一个SingleCall Proxy,Server端没有反应,这就充分验证了对于Server Activation

    56370

    WCF学习笔记 1

    老的Windows通讯开发平台有:WebService和.net Remoting等。 WCF是对这些技术做了统一。 ?...WCF为.Net Framework提供了一个基础,使其能够编写代码,以在组件、应用程序、系统之间进行通信。 WCF的设计遵循的是面向服务的原则。 服务是指可以通过消息与之进行交互的一段代码。...使用WCF,就可以实现其所有应用程序间的通信。 WCF可使用Web服务进行通信,还可以对WCF进行配置和扩展,以便与使用并非基于SOAP的消息的Web服务进行通信。...SOA原则: 1、边界清晰 2、服务自治 3、兼容性基于策略 4、共享模式(schma)和契约 WCF体系架构简介 ? 契约与说明 契约定义消息系统的各个方面。...后来微软做了ASP.NET Web Service的安全,性能,数据加密、解密,托管宿主等多方面的扩展,称为WSE系列,这个是过度产品,最高到WSE3.0.后来就是WCF时代。

    93140

    《WCF的绑定模型》博文系列汇总

    [第1篇] Binding模型简介 对于一个分布式应用的开发与设计来说,通信问题是不得不考虑,同时也是最为复杂、最难实现的问题。...在过去的若干年中, 微软先后推出了一系列广受欢迎的通信技术, 比如DCOM、Enterprise Service、.NET Remoting、XML Web Service、MSMQ等等。...[第2篇] 信道与信道栈(Channel and Channel Stack) WCF采用基于消息交换的通信方式,而绑定则实现了所有的通信细节。...绑定通过创建信道栈实现了消息的编码与传输,以及对WS-*协议的实现。WCF绑定模型涉及多种类型的组件,比如信道、信道监听器、信道工厂等等。...和服务端的信道监听其相比,处于客户端的信道工厂显得简单。从名称就可以看得出来,信道工厂的作用就是单纯的创建用于消息发送的信道。

    523100

    如何使用Microsoft技术栈

    第二选择:WCF 与Web API相比WCF被认为是一种更加灵活的选项,因为它并没有与任何特定的传输协议或者消息格式绑定。例如,你能够利用TCP或者命名管道和二进制消息提升性能。...缺点是WCF使用起来比较困难,特别是当你想要以JSON或者其他非基于SOAP的格式暴露数据时更是如此。 WCF是面向企业设计的,理念是RPC风格的通信。...与常见的WinForms应用程序相比,WPF灵活的渲染引擎渲染的外观更漂亮。当然这也是有代价的,在同等条件下WPF应用程序通常比WinForms应用程序运行的慢。...与直接访问数据库相比,这提供了更好的可伸缩性,同时还提供了一种可以绕开防火墙及其他障碍物的方式。另外它允许将应用程序移植到数据库驱动不可用的平台上。...Microsoft推荐在可以与Microsoft Office相比的这种大型、长期项目中使用C++。这里的一个假定是AutoCAD和Paint.NET在规模方面是不同的。

    1.4K60

    WCF技术剖析(卷1)之前言

    如果读者也像我一样,之前习惯了采用.NET Remoting、XML Web Service、WSE、MSMQ来架构你分布式应用的话,应该不难想象我第一次接触WCF时心中的那份震撼。...希望尽我所能,写一部全面剖析WCF的书籍,与读者一起分享。...但是,如果希望通过WCF构建一个高性能、可维护性、可扩展性的分布式应用,就要求架构师、设计师和开发者对WCF的实现机制,以及面向服务的设计原理具有正确、全面而深入的理解。...如果读者具备了DCOM、Enterprise Library Service、.NET Remoting、Web Service、MSMQ以及SOA相关的基础,对于尽快掌握WCF将大有裨益。...我们还会根据PetShop,介绍如何通过WCF扩展实现与微软开源开发框架企业库集成,比如通过与Unity的继承将DI容器引入WCF应用服务实例的创建;通过与EHAB(Exception Handling

    1K100

    快速入门系列--WCF--01基础概念

    记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winform时,使用过Remoting,再之后做B/S架构时,就会经常使用.NET平台下的Web Service,直到使用上WCF...即使如此,如果要以SOA为题,写一遍2000字的论文,感觉仍然很难下手,说明对概念理解还不够深刻(之后打算专门撰文一篇,为软考做准备)。...这种架构的优点是开发快速,与数据库紧密相连,事务性很好,适用于中小系统;缺点是因为各个系统都可以直接和数据库连接,层次不清晰,当系统越来越庞大时,运维成本越来越大,此外,其可控性、安全性、扩展性也相对较差....NET Remoting:其基于信道栈的"管道式"消息处理和传输机制,支持TCP,UDP等传输协议。...从基础架构的角度上看,WCF可以分为服务模型层和信道层两个层次,服务模型层建立在信道层的基础是上,而信道层就是通过本节即将介绍的binding绑定创建,注意这儿的绑定与.NET很多地方的绑定概念不同(例如最常见的数据绑定

    1.1K100

    WCF后续之旅(4):WCF Extension Point 概览

    比如:为了性能的提升,你可能试图通过一种对象池的机制实现对service instance的创建和提取,当需要使用到某个service instance的时候,先从对象池中获取该对象,如果不存在再从新创建对象...这样避免了过于频繁的对象创建而引起对性能的影响。有兴趣的朋友不妨试着做一做。...、自定义CallContextInitializer (Step 12 & Step 18) 提到CallContextInitializer,我想有一部分人会马上想到System.Runtime.Remoting.Messaging.CallContext...通过自定义ErrorHandler实现对WCF的扩展的典型应用莫过于Enterprise Library Exception Handling Application与WCF的集成。...Unity Container的集成 WCF后续之旅(8):通过WCF Extension 实现与MS Enterprise Library Policy Injection Application

    75290
    领券