当前位置:  开发笔记 > 后端 > 正文

在WCF服务中使用protobuf

如何解决《在WCF服务中使用protobuf》经验,为你挑选了1个好方法。

我的asp.net网页位于IIS Web服务器上,它使用基本HTTP绑定与WCF服务(位于Windows 2008 app服务器上)进行通信.我的wcf服务的性能似乎并不那么好,我想改进它.同样,我需要在可扩展性上保持平衡,因为我的网站将拥有非常高的流量.

HTTP压缩,限制是一些我知道但尚未尝试过的方法..我可以使用protobuf API ...请建议......



1> Marc Gravell..:

简短的回答是"是"......

协议缓冲区规范本身不提供RPC堆栈,但有些已添加到规范之外.

首先,protobuf-net为WCF提供了挂钩,允许您将服务合同上的操作标记为ProtoBehavior.然后交换常规DataContractSerializer以使用protobuf-net序列化.但是,有一些警告:

您的数据成员必须具有明确的Order(例如[ProtoMember(Order = 1)]),因为它使用这些数字作为字段标识符(协议缓冲区使用数字字段)

它最适合于汇编/类共享(服务合同等),因为这种自定义行为不会暴露在"mex"上

当与基本http传输一起使用时,这也与MTOM(如果启用)兼容,以实现最大吞吐量.非重要信息的表现在很大程度上与其大小成正比; 你可以在这里了解protobuf-net的尺寸.

或者,我也在研究一个定制的RPC堆栈.在当前的构建具有通过HTTP工作组,但我也打算启用它原始的TCP/IP,当我得到机会.我还没有机会写出来,但我可以根据要求提供示例.请注意,要最方便地使用它,您也需要3.5"扩展名"dll.

有任何问题,添加评论或发电子邮件给我(见我的个人资料).

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有