WCF

WCF是微软基于SOA(Service Oriented Architecture)推出的.Net平台下的框架产品,它代表了软件架构设计与开发的一种发展方向,在微软的战略计划中也占有非常重要的地位
摘要: MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC和WebForm 的性能分析的小程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Ifram...阅读全文
posted @ 2011-10-18 22:17 张善友 阅读(1035) | 评论 (0) 编辑
摘要: REST(Representational State Transfer)是网络服务接口的一种风格,并不是一个标准,就web service而言,REST要比SOAP(SOAP是标准,不是风格)轻量得...阅读全文
posted @ 2011-10-17 22:36 张善友 阅读(1187) | 评论 (0) 编辑
摘要: 在面向服务的应用系统中,最重要的概念就是消息,消息的传输是一个非常重要的问题。而在大多数情况下,消息要经历多个网络节点,这里会涉及到消息路由问题。WS规范很早就制定了对于消息路由问题的解决办法,这里最...阅读全文
posted @ 2011-07-22 22:13 张善友 阅读(894) | 评论 (0) 编辑
摘要: 企业系统和网站系统都需要处理大量的邮件、短信等消息通知系统。在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,必须充分地考虑访问量、数据流量、服务器负荷的问题。本文基于SQL Server 2008 Service Broker、WCF、Windows 服务以及调度框架Quartz.NET实现一个消息通知系统。阅读全文
posted @ 2011-04-01 21:11 张善友 阅读(1385) | 评论 (1) 编辑
摘要: REST软件架构是由Roy Thomas Fielding博士2000年在他的论文《Architectural Styles and the Design of Network- based Software Architectures》首次提出的。他提出的理论对后来的Web技术的发展产生了巨大的影响,他是许多重要Web架构标准的设计者,这些标准就是HTTP、URI等。WCF 4的REST创建可以下载模板 WCF REST Service Template 40(CS),具体参考 Getting started with RESTful web services in WCF 4。阅读全文
posted @ 2011-02-10 21:09 张善友 阅读(1073) | 评论 (0) 编辑
摘要: 一、概述 性能监视,是Windows NT提供的一种系统功能。Windows NT一直以来总是集成了性能监视工具,它提供有关操作系统当前运行状况的信息,针对各种对象提供了数百个性能计数器。性能对象,...阅读全文
posted @ 2010-12-23 13:24 张善友 阅读(1649) | 评论 (0) 编辑
摘要: protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。借助于WCF这样的网络编程框架,然后结合protobuf这样的序列化框架,网络编程中技术基础设施层面的东西就给我们解决得差不多了,我们可以真正只关注于业务的实现。protobuf的dotNet实现protobuf-net, 支持WCF的DataContact,WCF程序几乎不需要什么修改就能使用。阅读全文
posted @ 2010-12-19 13:12 张善友 阅读(1393) | 评论 (5) 编辑
摘要: 当 .NET 应用程序将对象转换为 XML 文档并存储该 XML。实际上,XML 被用作可移植数据存储机制,因为 .NET 对象被转换为 XML,然后又从 XML 转换为 Java,反之亦然。 Ca...阅读全文
posted @ 2010-11-06 22:02 张善友 阅读(823) | 评论 (0) 编辑
摘要: Mono 下的Windows服务叫做mono-service,mono-service 运行.net 1.0 程序集 和用 mono-service2 运行.net 2.0 以上的程序集。mono 2.8已经不支持.net 1的程序了,所以我们现在都是使用mono-service2,命令行说明文档参考http://manpages.ubuntu.com/manpages/lucid/man1/mono-service.1.html。Mono 2.8对wcf的支持也比较好了,这里的例子就是将Windows下self host的一个wcf服务移植到Linux上。阅读全文
posted @ 2010-10-10 21:48 张善友 阅读(2134) | 评论 (11) 编辑
摘要: MVP Raffaele Rialdi 9.30发布了一个工具,使得管理证书的工作变得很简单。这个工具支持设置ACLs 的私钥, 拷贝指纹 和生成WCF <identity /> 元素,这...阅读全文
posted @ 2010-10-04 23:22 张善友 阅读(624) | 评论 (0) 编辑
摘要: SOAPAction HTTP request header被用来标识SOAP HTTP请求的目的地,其值是个URI地址。SOAP发送并不限制格式、URI特征或其必须可解析,那么在这种情况下,发送一个...阅读全文
posted @ 2010-09-20 21:43 张善友 阅读(3135) | 评论 (1) 编辑
摘要: 如何创建可与 Silverlight 客户端进行通信的双工 Windows Communication Foundation (WCF) 服务。双工服务将保留到 Silverlight 客户端的回调通...阅读全文
posted @ 2010-09-15 22:59 张善友 阅读(600) | 评论 (0) 编辑
摘要: TCP有一个TIME—WAIT状态.通常有2分钟。在一个繁忙的网站,2分钟常常有数千个访问请求.假设服务器A的处理能力比B大两倍,但服务器A有数千个TIME~wAIT状态.那么服务器B将在这2分钟内承...阅读全文
posted @ 2010-07-09 07:55 张善友 阅读(1214) | 评论 (1) 编辑
摘要: OData开放数据协议是微软针对Google的GData推出的,旨在推广Web程序数据库格式标准化的开放数据协议,微软将 OData 定义为基于 HTTP、AtomPub 和 JSON 的协议,增强各种网页应用程序之间的数据兼容性,以提供多种应用、服务和数据商店的信息访问。并且,微软已经正式推出了 OData SDK,包含了 .NET、Java、PHP、Palm WebOS 和 iPhone 的支持。其中 .Net OData 客户端基于 Apache 授权开源。微软多款产品已经支持 OData 包括 SharePoint Server 2010, Excel 2010, Dynamics 等。 我们就使用WCF Data Service将服务器的Windows应用程序日志向外发布。我们的应用程序可以把日志直接就写在Windows的日志里,然后通过使用WCF Data Service非常容易的就将日志想其他需要的用户公开。阅读全文
posted @ 2010-03-26 22:03 张善友 阅读(1877) | 评论 (1) 编辑
摘要: WCF的配置是位于system.serviceModel配置节点下。你会看到3个子节点:behaviors, serviceHostingEnvironment和serivces。其中的service...阅读全文
posted @ 2010-03-24 22:18 张善友 阅读(679) | 评论 (0) 编辑
摘要: 你是否使用WCF 3.5 或者WCF REST Starter Kit开发过Restful的服务?这些技术在.NET 4里头的名称叫做WCF WebHttp Services。Msdn的相关文档在这里...阅读全文
posted @ 2010-03-06 23:01 张善友 阅读(829) | 评论 (3) 编辑
摘要: 2010年3月份的msdn杂志上有篇文章是介绍Asp.Net Ajax 调用WCF Data Service的,也就是Using the OData Ajax library,具体参看Msdn杂志的文...阅读全文
posted @ 2010-03-06 21:54 张善友 阅读(581) | 评论 (0) 编辑
摘要: WCF Data Service的下面是Data Service,负责与数据源进行交互,Data Service附带了一个内部框架,可以让你自定义数据服务提供者。WCF Data Service默认使用的是Entity Framework,还有一个Reflection Provider,可以支持只读的数据服务,如果需要可读写的数据服务,需要实现接口IUpdatable,可以参照Linq To SQL的Provider:ADO.NET Data Services IUpdateable implementation for Linq to Sql。阅读全文
posted @ 2010-02-19 11:54 张善友 阅读(1938) | 评论 (1) 编辑
摘要: 开放数据协议(OData)是一个查询和更新数据的Web协议。OData应用了web技术如HTTP、Atom发布协议(AtomPub)和JSON等来提供对不同应用程序,服务和存储的信息访问。Visual Studio 2010里头使用WCF Data Service,就是使用OData发布的Restful服务,下面的例子演示2010里头的WCF Data Service. 阅读全文
posted @ 2010-02-14 15:02 张善友 阅读(4271) | 评论 (3) 编辑
摘要: 开放数据协议(OData)是一个查询和更新数据的Web协议。OData应用了web技术如HTTP、Atom发布协议(AtomPub)和JSON等来提供对不同应用程序,服务和存储的信息访问。微软在Azure平台上引入了代码名为“Dallas”的服务,它是一个信息集市,能够从领先的商业数据提供商和可靠的公共数据源一起为单一位置带来数据、图像,以及实时Web服务。微软在另一项技术里头WCF Data Service,之前叫做ADO.NET Data Service也使用的是OData协议。 阅读全文
posted @ 2010-02-11 09:16 张善友 阅读(3992) | 评论 (3) 编辑
摘要: Windows (Process) Activation Service (WAS)作为 IIS7.0 特有的新增功能,和以前IIS 6.0的功能相比更加强大,因为它提供并支持除HTTP之外的更多协议,比如TCP方式和Pipe(管道)方式。利用WAS作为WCF(Windows Communication Foundation)的宿主,我们能充分利用WAS的很多优点,因为我们再也不用为非HTTP方式的WCF Service单独编写宿主程序了。而WAS本身的特点,也让我们的服务端程序能享受到只有以往的HTTP方式的WCF Service才能拥有的很多特性。WAS在Windows Vista/7/2008/R2中,其实是由一个单独的Windows Service来实现的 在Windows服务里头可以找到一个Windows Service,就叫做"Windows Process Activation Service"。由此看来,WAS的进程和IIS进程在物理上是隔离开的,能为我们提供一个灵活、稳定的WCF Service宿主环境。 阅读全文
posted @ 2010-01-24 22:35 张善友 阅读(1151) | 评论 (3) 编辑
摘要: WCF 3/3.5 中,当我们要调用一个服务时,必须事先知道该服务的地址,然后通过服务代理用双方约定好的契约与远程的服务进行交互。现在,WCF 4.0中提供了发现服务的支持,当我们再想调用一个服务时,...阅读全文
posted @ 2009-12-15 22:40 张善友 阅读(925) | 评论 (1) 编辑
摘要: 如果你安装了 VS 2010 的 Silverlight 4 开发工具,会发现一项重量级的安装项目,WCF RIA Services,用于Silverlight数据访问服务,比WCF和ADO.NET ...阅读全文
posted @ 2009-12-13 12:06 张善友 阅读(12954) | 评论 (10) 编辑
摘要: 在asp.net 应用程序和WCF服务之间共享FormsAuthentication,默认是不支持的,设置一下非常的简单.阅读全文
posted @ 2009-09-06 20:51 张善友 阅读(1101) | 评论 (3) 编辑
摘要: 在MSDN上有一篇入门教程。讲解的十分基本,十分详细,详细到每一个细节,然我彻底了解入门的每一个细节,整个教程结构清晰,代码简洁,讲解细致,值得推荐。阅读全文
posted @ 2009-08-10 21:02 张善友 阅读(2402) | 评论 (2) 编辑
摘要: 作者统计了2009年2月以来700多个Silverlight 2应用程序所采用的WCF通讯和序列化技术, http://tomasz.janczuk.org/2009/07/adoption-of-w...阅读全文
posted @ 2009-07-20 20:48 张善友 阅读(1071) | 评论 (1) 编辑
摘要: WCF按照basicHttpBinding方式发布,.net按照Web Service方式调用,自动生成的Proxy中枚举类型和Nullable类型的参数,在Proxy里面发现一些不一样的东西,都额外生成一个配对的XXSpecified的字段和属性。你必须将该值设为true,否则,WCF序列化的时候回忽略相应的枚举类型或Nullable类型,全部使用的默认值,你所赋的值都被忽略了,只有你将XXSpecified设置为true就可以了。阅读全文
posted @ 2009-07-02 14:58 张善友 阅读(1342) | 评论 (0) 编辑
摘要: 对于WCF应用程序如何做负载测试,Jeff Beehler开发了一个WCF Load Test工具(Load testing Windows Communication Foundation appl...阅读全文
posted @ 2009-06-16 22:25 张善友 阅读(1113) | 评论 (0) 编辑
摘要: 在TCP/IP协议栈中,当数据通过协议栈向下流动时,每一层都要给数据增加控制信息用于确保正确的传递。控制信息放置在被传送数据的开始,称之为包头,这种在协议栈中每一层都增加传递信息的过程称为封装。也就是...阅读全文
posted @ 2009-06-12 23:02 张善友 阅读(897) | 评论 (1) 编辑
摘要: SynchronizationContext是在.NET 2.0引入的一个线程方面的一个类,在Msdn上的文档非常少也没有介绍如何使用它,mikeperetz在codeproject上写了三篇非常详细的文章来说明。阅读全文
posted @ 2009-01-06 22:14 张善友 阅读(848) | 评论 (0) 编辑
摘要: TCP有个选项 TcpTimedWaitDelay: 确定 TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间。关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态。此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接。减少此条目的值允许 TCP/IP 更快地释放已关闭的连接,为新连接提供更多资源。如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT 中存在很多连接,导致低吞吐量,则调整此参数。 阅读全文
posted @ 2008-12-19 13:09 张善友 阅读(3193) | 评论 (1) 编辑
摘要: 从 Visual Studio 2005 开始有个非常好用的功能, 就是在 debug 的时候, 可以用Visualizer 很方便的查看某些类型的参数, 比如说 Text Visualizer, XML Visualizer, HTML Visualizer 等等, VS2008还针对了 IEnumerable 类型对象也提供了查看的能力. WCF Visualizers 可以查看WCF的各种对象,是WCF开发的必备工具之一。阅读全文
posted @ 2008-12-09 22:52 张善友 阅读(713) | 评论 (0) 编辑
摘要: WCF 3.5 引入了 WebGetAttribute、WebInvokeAttribute、UriTemplate 来增加对 REST 的支持,这使得我们用很简单的方式就可以实现 RESTful WCF Service阅读全文
posted @ 2008-12-05 23:07 张善友 阅读(1067) | 评论 (2) 编辑
摘要: WMI 是基于 Web 的企业管理 (WBEM) 标准的 Microsoft 实现,WCF 公开服务的属性,如地址、绑定、行为和侦听器。您可以在应用程序的配置文件中激活内置 WMI 提供程序。这可以通过 system.ServiceModel element一节中的 Element的 wmiProviderEnabled 属性实现阅读全文
posted @ 2008-12-03 21:58 张善友 阅读(553) | 评论 (1) 编辑
摘要: WCF的承载既可以通过编码实现,也能够通过配置实现.而且使用配置,更有利于日后的维护和扩展。我们经常会碰到这样的一个场景:需要把WCF的配置信息放在一个单独的文件中,这种情况经常出现在需要为自己开发的服务配置,需要采用独立的配置文件,而不是只能放到app.config/web.config中。阅读全文
posted @ 2008-12-02 22:41 张善友 阅读(2051) | 评论 (3) 编辑
posted @ 2008-11-23 20:45 张善友 阅读(927) | 评论 (0) 编辑
posted @ 2008-11-22 17:14 张善友 阅读(597) | 评论 (4) 编辑
摘要: 在一般的网络环境中,尽可能避免网络攻击,都会通过防火墙将绝大部分的端口封掉,仅仅保留那些常用的网络服务所用的端口,或者为某一个类应用保留少量的端口。IIS 使用HTTP.SYS实现了对80端口的共享使用,所以我们可以在IIS上部署多个应用程序。那么我们在主机上部署多个TCP的WCF服务,只有有限开放端口的时候怎么办呢,答案就是启用NET.TCP的端口共享服务阅读全文
posted @ 2008-11-22 15:49 张善友 阅读(1247) | 评论 (0) 编辑
摘要: WCF提供一组綜合Logging及Tracing功能,它是利用.NET Framework中的System.Diagnostics tracing机制。WCF应用程序可以在转换或是服务层时记录日志,也可以在程序里面编写trace的相关的代码将log输出。阅读全文
posted @ 2008-11-17 21:53 张善友 阅读(611) | 评论 (0) 编辑
摘要: Artech 已经写过一篇[原创]WCF后续之旅(7):通过WCF Extension实现和Enterprise Library Unity Container的集成,在这个解决方案中Unity的侵入性有点强,本文介绍一种具有更少的侵入性的解决方案。阅读全文
posted @ 2008-11-06 13:51 张善友 阅读(2501) | 评论 (6) 编辑
摘要: 为了扩大高性能.NET应用程序在多种层次和平台上的应用范围以及促进Windows通讯基础(WCF)的应用,微软2008年10月7日发布了一个样本应用程序、应用指南和基准的最新版本,帮助简化SOA混合应用程序的开发和应用。 阅读全文
posted @ 2008-10-20 21:13 张善友 阅读(1610) | 评论 (2) 编辑
摘要: 现在我能找到的关于WCF性能方面的文章主要有几个,一个是微软Connected Frameworks Team的Saurabh Gupta (PM)2007年初发布了一个WCF的性能测试报告,另一个是.NET StockTrader 示例应用程序的基准测试报告. 阅读全文
posted @ 2008-10-05 16:55 张善友 阅读(3599) | 评论 (8) 编辑
摘要: 模式与实践 2008年8月1日在 CodePlex 网站上发布了 WCF Security Guidance 中的 Application Scenarios,这是一个运用应用实例来解释WCF身份认证的实际场景阅读全文
posted @ 2008-08-10 10:08 张善友 阅读(761) | 评论 (0) 编辑
posted @ 2007-02-20 09:58 张善友 阅读(920) | 评论 (4) 编辑
摘要: 本白皮书将通过保险业的案例来说明 Microsoft 平台的互操作功能。仅采用协议级标准远远不够,捕捉消息传递事务的业务方面才是让互操作性为业务服务的关键。这适用于各个行业,而不仅仅是保险业。(本文还包含指向英文网页的链接。)
阅读全文
posted @ 2007-02-01 19:00 张善友 阅读(1422) | 评论 (1) 编辑