Java当中常用的Excel文档导出主要有POI、JXL和“直接IO流”这三种方式,三种方式各自分别有不同的优势与缺点,下面将分行对其进行简
protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行工具,工具将自动生成相关的类,可以支持java、c++、python等语言环境。通过将这些类包含在项目中,可以很轻松的调用相关方法来完成业务消息的序列化与反序列化工作。 protobuf在google中是一个比较核心的基础库,作为分布式运算涉及到
看到越南小哥 的github 上的Evaluating Performance of REST vs. gRPC , 使用的是.NET Core 3.0 , 今天我把它升级到.NET Core 3.1 同样做了一个测试,文章的结果和他的博客文章是一样的。
在使用 WCF 时,为了更好地进行调试,我都选择了 HTTP 协议进行数据传输。最近项目对性能要求比较高,所以就换成了使用 TCP 协议。并对二者的性能进行了一个简单的测试。以下是测试结果: 环境: CPU: E5800 3.20GHz+3.19GHz RAM: 7.97GB 64 bit OS, 64 bit processor 把服务端、客户端都部署在本机进行数据传输测试。分如下场景进行测试: 1. 1000次请求,每次请求传输 1 个对象,每个对象 80 个属性: HT
在上一篇分布式系统系列中《分布式系统中的必备良药 —— 服务治理》中阐述了服务治理的一些概念,那么与服务治理配套的必然会涉及到RPC框架。在当前互联网的大背景下,RPC的运用应该大家或多或少都有涉及,国内外的RPC框架也是百花齐放。那么各个RPC框架各自有什么特点,另外RPC的核心点又是哪些,我们该如何去选择是本文需要讲述的内容。本文会围绕.Net技术栈来展开,暂不讨论诸如dubbo之类对.Net 不太友好的框架。
Mono,作为.NET运行库的开源实现,正在将微软的技术带到未曾预料到的地方,包括iPhone,Android和Wii。 根据Novell公司的首席Mono开发者Miguel de Icaza称,Apple的App Store中有多个应用程序是基于Mono。 这可能会让那些熟悉苹果应用程序限制政策的人感到意外,因为苹果公司严格禁止开发者使用解释语言和第三方运行环境——在很大程度上就将.NET和Java之类技术排除在外。 静态编译(Static compilation)是一道特别的沙司,正是它使
软件产品常常会出现这样的情况:产品性能因某些无法预料的瓶颈而受到干扰,导致程序的处理效率降低,性能得不到充分的发挥。如何快速有效地找到软件产品的性能瓶颈,则是我们感兴趣的内容之一。 性能计数器的确是Windows Server中一款非常强大的工具,它可以让你及时了解到服务器的各项性能指标,从而你可以知悉服务器的运行状态是否正常,帮助你分析定位服务器可能出现的问题。具体可以参看 利用Windows性能计数器(PerformanceCounter)监控。 三种不同的WCF相关性能计数器与.NET Framewo
做了4年的java程序员,一直考虑以后的发展方向。感觉不适合走管理路线的人,所以考虑继续在技术方面深入下去。 相信好多程序员都有相同的感觉,做了好多年代码民工,感觉自己每天都在重复着相同的事情。 Co
在做Web开发的时候,相信很多人都看过一个“批量少次”原则: Web服务器采用HTTP协议,它是一个非持久连接的协议,是无状态的(虽然可以采用多种方式来模拟Web会话状态,但本质上Web是无状态的),由于每一次连接都要耗费相当的资源,所以尽量减少连接的次数,每次连接发送尽量多的数据也是顺理成章,这样它能够提供极大的吞吐量,可以提高Web应用系统的处理效率,这便是著名的“批量少次”原则。 这个原则在很多情况下都适用,比如ADO.NET相比原来的ADO数据访问,由于采用了断开式连接,极大地
在做Web开发的时候,相信很多人都看过一个“批量少次”原则: Web服务器采用HTTP协议,它是一个非持久连接的协议,是无状态的(虽然可以采用多种方式来模拟Web会话状态,但本质上Web是无状态的),由于每一次连接都要耗费相当的资源,所以尽量减少连接的次数,每次连接发送尽量多的数据也是顺理成章,这样它能够提供极大的吞吐量,可以提高Web应用系统的处理效率,这便是著名的“批量少次”原则。 这个原则在很多情况下都适用,比如ADO.NET相比原来的ADO数据访问,由于采用了断开式连接,
对于传统的WCF配置系统,无论是绑定的配置还是行为(服务行为和终结点行为)都必须具有一个名称。而正是通过整个配置名称,它们才能被应用到目标对象(终结点或者服务)上。而在实际的项目开发中,绝大部分服务或者终结点都具有相同的绑定和行为,如果能够定义一种默认的绑定和行为,这无疑会简化我们的配置。WCF4.0为此提供了一个新的特性以支持默认绑定和行为的配置。 一、 默认绑定配置 在传统的配置方式下,如果我们需要对终结点的绑定(不论是系统绑定还是自定义绑定)进行定制,我们都需要配置一个“具名”的绑定,然后将这个名称指
和传统的分布式远程调用一样,WCF的服务调用借助于服务代理(Service Proxy)。而ChannelFactory<T>则是服务代理的创建者。WCF采用基于终结点(Endpoint)服务消费方式:WCF服务通过一个或者多个终结点暴露给潜在的服务消费者,服务的消费中通过与之匹配的终结点与之交互。在客户端,我们具有两种典型的服务代理创建方式,其一是通过诸如SvcUtil.exe这样的工具导入服务的元数据生成相应的服务代理(一个继承自ClientBase<T>的类型)代码和相关配置;其二是直接通过相应的终结
使用 .NET 卸载工具 (dotnet-core-uninstall),可清理系统上的 .NET SDK 和运行时,以便仅保留指定的版本。 可使用选项集合来指定要卸载的版本。
现在我能找到的关于WCF性能方面的文章主要有几个,一个是微软Connected Frameworks Team的Saurabh Gupta (PM)2007年初发布了一个WCF的性能测试报告 作者使用WCF比较了四种常用的分布式技术 ASP.NET Web Services (ASMX) Web Services Enhancements (WSE) .NET Enterprise Services (ES) .NET Remoting ASMX--比传统的ASP.NET WebServices 快
近半年以来,一直忙于我的第一本WCF专著《WCF技术剖析(卷1)》的写作,一直无暇管理自己的Blog。在《WCF技术剖析(卷1)》写作期间,对WCF又有了新的感悟,为此以书名开始本人的第三个WCF系列。本系列的目的在于对《WCF技术剖析》的补充,会对书中的一些内容进行展开讲述,同时会囊括很多由于篇幅的原因忍痛割弃的内容。 [第1篇] 通过一个ASP.NET程序模拟WCF基础架构 本系列的第一篇,我将会对WCF的基本架构作一个大致的讲解。不过,一改传统对WCF的工作流程进行平铺直叙,我将另辟蹊径,借助于我
菜菜刚开始接触WCF,一切都要从零开始,所以在此也记下笔记,以作日后翻看,大家也可以多多指点。
“一切都是消息”--这是MSF(消息服务框架)的设计哲学。 MSF的名字是 Message Service Framework 的简称,中文名称:消息服务框架,它是PDF.NET框架的一部分。 1,MSF诞生的背景 MSF最初来源于2009年,我们为某银行开发的基金投资分析系统,由于银行安全的原因并且这些投资资料属于机密资料,规定必须使用邮件系统来发送这些资料,但是邮件的收发不是直接针对人,而是两端的计算机程序。为了及时向客户发送这些投资资讯,我们使用WCF开发了基于邮件的通信系统。后来,从这套系统中分离出
本次课程的主要内容包括以下四格部分:DataContractSerializer、序列化、反序列化、XmlSerializer
经过WCF基础的ABC学习,已经可以构建简单的WCF的服务,使用不同的服务地址和绑定类型,根据业务提供所需的服务契约。但不禁想问,服务所使用的消息报文是什么样的形式么?蕴含什么样内容呢?WCF服务是否
老的Windows通讯开发平台有:WebService和.net Remoting等。
多年来,许多 Visual Studio 开发者在其. NET Framework 项目需要访问 Web 服务时,都享受到了添加服务引用工具所带来的工作效率。 WCF Web 服务引用工具是 Visual Studio 连接服务的扩展,提供了类似于 .NET Core 和 ASP.NET Core 项目的“添加服务引用”功能的体验 。 此工具可从网络位置的当前解决方案的 web 服务中或从 WSDL 文件中检索元数据,并生成包含可用于访问 web 服务的 Windows Communication Foundation (WCF) 客户端代理代码的可兼容 .NET Core 的源文件。
在Windows或者ASP.NET Web应用程序中,我们经常可以看到在Grid控件上通过Load-on-demand的方式来提高系统性能,提升用户体验。 所谓Load-on-demand就是在最初表格数据加载时只加载当前表格中用户可以看到的行数,当用户向下滚动或拖拽纵向滚动条时,再将需要显示的数据通过某种方式动态加载进来。 那么对于Silverlight,我们可以使用DataGrid通过WCF RIA Service来实现这个功能。 1. WCF RIA Service 我们将会使用WCF Se
第1章 WCF简介 (WCF Overview) 1.1 SOA基本概念的和设计思想 1.2 WCF是对现有Windows平台下分布式通信技术的整合 1.3 构建一个简单的WCF应用 步骤一:构建整个解决方案 步骤二:创建服务契约 步骤三:创建服务 步骤四:通过自我寄宿的方式寄宿服务 步骤五:创建客户端调用服务 步骤
在最近发布的Visual Studio 2012及.NET 4.5中, 微软正式推出新的网络服务框架ASP.NET Web API。作为ASP.NET MVC 4的一部分,ASP.NET Web API这套开源框架的设计目的是简化RESTful服务的开发和使用。 ASP.NET Web API 与之前的内建HTTP服务解决方案的不同之处在于,它一开始就是围绕HTTP协议及其消息语义构建起来的。与WCF REST或ASP.NET AJAX加ASMX相比,它不是对现有框架的增强,而是一个全新的平台。新的ASP.
辞职之后当然是玩。玩了若干天的游戏,真的是没日没夜啊,但是玩的太坑,怒删游戏。话说上次玩还是在14年7月份。下次还是过年回家再和小伙伴一起玩。想到过年也就7天的假。。。。
第一次邂逅WCF是在微软举办的一场关于Windows Vista技术推广培训上,时间大概是2005年10月份,当时对WCF可谓是一见钟情。如果读者也像我一样,之前习惯了采用.NET Remoting、XML Web Service、WSE、MSMQ来架构你分布式应用的话,应该不难想象我第一次接触WCF时心中的那份震撼。WCF是Windows平台下所有分布式技术集大成者,它将这一系列独立的分布式技术整合,提供一个统一的应用编程接口,这本身就是一项创举。这些被整合的分布式技术不仅仅包含提到的这些,还包括DCOM
KB2538826 解释了WCF服务在突发的请求下会发生的问题:当您的 WCF 服务接收请求的突发时,默认.Net I/O 完成端口 (IOCP) 线程池可能不扩大需尽快和你 WCF 的响应时间会随之增加。这篇文章《WCF scales up slowly with bursts of work》解释了到底发生了什么。 解决方案是通过另一个线程池执行WCF服务,实施这一解决方案可能会产生少量的开销。 每个WCF服务的性能测试结果会有所不同。 WCF Listener Recommended solut
今天看到WCF,说是整合了Net remoting,Web service。。。下面列一下概念。 一 WCF 概括地说,WCF具有如下的优势: 1、统一性 前面已经叙述,WCF是对于ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合。由于WCF完全是由托管代码编写,因此开发WCF的应用程序与开发其它的.Net应用程序没有太大的区别,我们仍然可以像创建面向对象的应用程序那样,利用WCF来创建面向服务的应用程序。 2、互
在本系列的每篇文章中,我多次提到WCF是一个极具可扩展性的分布是消息通信框架。为了让读者对WCF Extension有一个总体的的认识,在这里我会简单列举了我们经常使用的绝大部分的扩展点,以及通过这些扩展点能够解决实现项目开发中的那些问题。 有一点需要特别提醒的是:对WCF extensions的灵活应用依赖于你对channel layer和service mode dispatching system的深入理解。所以,如果你对channel layer不甚了解,可以参阅本系列的第一个部分(WCF是如何通过
Silverlight与数据库的三种互操作 简介 本章节提供Silverlight与后台数据库的三种技术实现基本的互操作(Silverlinght Interoperability),构建一个Silverlight SOA的应用。 准备环境 Windows 2003/2008/vista Visual Studio.net 2008+sp1 Silverlight 3.0 SDK Silverlight3 Tools Microsoft Expression Blend 3 RiaServ
OData开放数据协议是微软针对Google的GData推出的,旨在推广Web程序数据库格式标准化的开放数据协议,微软将 OData 定义为基于 HTTP、AtomPub 和 JSON 的协议,增强各种网页应用程序之间的数据兼容性,以提供多种应用、服务和数据商店的信息访问。并且,微软已经正式推出了 OData SDK,包含了 .NET、Java、PHP、Palm WebOS 和 iPhone 的支持。其中 .Net OData 客户端基于 Apache 授权开源。微软多款产品已经支持 OData 包括 S
CoreWCF 项目在2021.2.19 正式发布了0.1.0 GA版本:https://github.com/CoreWCF/CoreWCF/releases/tag/v0.1.0 ,这个版本号虽然是0.1,但是它是可以投入生产的版本,而且是跨平台的,支持LInux部署WCF,当前仅支持http 和 net.tcp:
WCF是一个基于多线程的消息监听、接收和处理框架体系,能够同时应付来自相同或者不同客户端的服务调用请求,并提供完善的同步机制确保状态的一致性。一方面,我们期望WCF服务端能够处理尽可能多的并发请求,但是资源的有限性决定了并发量有一个最大值。如果WCF不控制进入消息处理系统的并发量,试图处理所有抵达的并发请求,一旦超过了这个临界值,整个服务端将会由于资源耗尽而崩溃。 所以,我们需要在WCF的消息接收系统和消息处理系统之间设置一道道屏障,将流入消息处理系统的请求控制到一个最佳的范围,以实现对现有资源的有效利用
本文转载自https://msdn.microsoft.com/zh-cn/library/ff384253.aspx,主要内容是对msdn中对AppFabric介绍内容的整合以及一些自己的理解。
什么是大数据 大数据是指无法在一定时间范围内用传统的计算机技术进行处理的海量数据集。 对于大数据的测试则需要不同的工具、技术、框架来进行处理。 大数据的体量大、多样化和高速处理所涉及的数据生成、存储、检索和分析使得大数据工程师需要掌握极其高的技术功底。 需要你学习掌握更多的大数据技术、Hadoop、Mapreduce等等技术。 大数据测试策略 大数据应用程序的测试更多的是去验证其数据处理而不是验证其单一的功能特色。 当然在大数据测试时,功能测试和性能测试是同样很关键的。 对于大数据测试工程师而言,如何高效正
大数据的体量大、多样化和高速处理所涉及的数据生成、存储、检索和分析使得大数据工程师需要掌握极其高的技术功底。
今天遇到了一个很牛X的问题,多人一起解决很久,无果。 然,锲而不舍,一下午,从网络海洋里捞啊捞,终于觅得善果。 感谢这位大神,原文地址:http://hi.baidu.com/_253/blog/item/923a83f45b3c37c5f3d38559.html 本文经过了些微的整理。 WCF 传输大量数据出现“基础连接已经关闭...”错误的解决方案 按图做,如果自己的webconfig里没有相应节点,加上就好了。 先说错误: WCF服务端配置文件: 客户端 <system.s
Windows Server AppFabric 扩展了 Windows Server 以为 Web 应用程序和中间层服务提供增强的托管、管理和缓存功能。 AppFabric 托管功能向 Internet 信息服务 (IIS)、Windows Process Activation Service (WAS) 和 .NET Framework 4 添加了服务管理扩展。其中包括托管服务和托管管理工具,这些工具使部署、配置和管理基于 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 的服务变得更加容易。 AppFabric 缓存功能向 Windows Server 添加了一个分布式的内存中对象缓存,它使扩展高性能 .NET 应用程序(特别是 ASP.NET 应用程序)变得更加容易。
提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛。首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Building Cross-Platform Web Services with ServiceStack,所以这里简要介绍一下如何使用ServiceStack快速建立一个WebService服务。 当然,在开始之前,首先要说明一下ServiceStack是个什么东西。 在国内用ServiceStack的似乎很少
WCF在跨域传输使用了两种模型的方法调用:一种是同步模型,这种模型显然对那些需要大量操作时间的方法调用(如从数据库中获取大量数据时)是一种痛苦的选择。另一种是异步模型的方法调用,这种模型是一种非阻塞方法,其方法调用期间并不等到方法调用结束获得结果才返回,而是方法调用一经开始就马上返回,程序可以继续向前执行,被调用方法和主程序同时执行,在调用方法结束才返回结果。显然这种模型给了我们很好的编程和使用体验。 基于WCF在普通的编码是以文本编码方式在信道之间传输信息的,这种编码会把所有的二进制信息以字节数组的形式存
在[第1篇]中,我们介绍了WCF关于实例管理一些基本的知识点,包括InstanceContext、InstanceContextMode、已经如何通过ServiceBehaviorAttribute应用不同的实例上下文模式给不同的服务。在[第1篇]中,对WCF采用的三种不同实例上下文模式进行了简单的比较,本篇的重点方法对单调(PerCall)模式为进行详细介绍。 在单调(Per-Call)实例上下文模式下,WCF总是创建一个新的服务实例上下文处理接收到的每一个服务调用请求,并在服务操作执行结束后,回收服务上
大数据已经成为当今的热门话题,随着数据量不断增加,大数据的测试变得越来越重要。本文将介绍大数据测试的概念、目的、测试类型、测试工具和测试策略。
大数据测试是对大数据应用程序的测试过程,以确保大数据应用程序的所有功能按预期工作。大数据测试的目标是确保大数据系统在保持性能和安全性的同时,平稳无差错地运行。
[续《上篇》]TransactionFlow选项通过TransactionFlowAttribute这个操作契约写入绑定上下文,由事务绑定创建的事务信道获取该选项并以此作为首否对事务实施传播(发送或者接收)的依据。客户端事务信道通过TransactionFormatter对当前事务按照指定的事务处理协议进行格式化,并嵌入出栈消息;通过TransactionFormatter则从入栈消息中提取相应的数据重建事务。这就是事务流转实现的本质。整个WCF事务还有一个重要的步骤需要实现:如何将通过OperationB
领取专属 10元无门槛券
手把手带您无忧上云