代码改变世界

.NET 3.5 中WCF客户端代理性能改进以及最佳实践

2011-12-22 14:20 by DanielWise, 3402 阅读, 5 推荐, 收藏, 编辑
摘要:介绍在.NET 3.0 SP1(与.NET 3.5一起发布) 中,WCF客户端创建有一个重要的性能改进。对BasicHttpBinding 来说,性能已经接近于创建ASMX代理。ASMX 代理 vs WCF 代理ASMX 代理比WCF代理更简单。前者是类型System.Web.Services.Protocols.SoapHttpClientProtocol的一个包装。在ASMX世界中,编程模型是两条平行线: 1) 没有ServiceContract的概念。客户端代理中的所有服务操作(WebMethod)的签名都是唯一的。客户端直接通过SoapHttpClientProcotol.Invoke 阅读全文

最佳实践:显式打开共享访问的WCF客户端代理

2011-12-21 14:42 by DanielWise, 1903 阅读, 1 推荐, 收藏, 编辑
摘要:为了向WCF客户端和服务端提供对称编程模型,WCF采用.NET远程传输代理技术来帮助客户端(服务契约接口)无缝连接到服务端。svcutil.exe 可以为你生成WCF客户端代理的代码。如果你仔细看过生成的客户端代理代码,你会发现代理类是ClientBase<T>的子类。通过使用ChannelFactory<T>,你可以不直接使用ClientBase<T>来创建你的代理(或者称为信道)。创建一个WCF代理是一个重量级操作。所以有些时候你可能想要创建一个单一代理并允许多个线程来使用它。如果你不想让代理在每次调用都保留特定上下文的话,那么这种模式会很适合。这种情况 阅读全文

你了解 Assembly.Load 吗?

2011-09-07 16:52 by DanielWise, 37882 阅读, 24 推荐, 收藏, 编辑
摘要:我们在使用C# 语言的Assembly.Load 来加载托管程序集并使用反射功能时,一般需要先通过Assembly.Load(), Assembly.LoadFrom() 等方法将目标托管程序集加载到当前应用程序域中,然后生成对应实例,最后再进行调用实例的属性或者方法。一般情况下,我们调用Assembly.Load 一类方法是不会出问题的,但是对于以下几种情况Assembly.Load 方法无法处理:程序集可能是延迟签名的。程序集可能被CAS 策略保护。宿主程序与目标程序集的处理器架构不同。当加载目标程序集时,目标程序集中的方法可能正在运行。 (比如,模块初始化)程序集可能应用了绑定策略, . 阅读全文

设计模式

2011-08-29 09:32 by DanielWise, 464 阅读, 0 推荐, 收藏, 编辑
摘要:模式描述装饰者包装一个对象,以提供新的行为。状态封装了基于状态的行为,并使用委托来决定要使用哪一个。迭代器在对象的集合之中游走,而不暴露集合的实现。外观简化一群类的接口。策略封装可以互换的行为,并使用委托来决定要使用哪一个。代理包装对象,以控制对此对象的访问。工厂方法由子类决定要创建的具体类是哪一个。适配器封装对象,并提供不同的接口。观察者让对象能够在状态改变时被通知。模板方法由子类决定如何实现一个算法中的步骤。组合客户用一致的方法处理对象集合和单个对象。单件确保有且只有一个对象被创建。抽象工厂允许客户创建对象的家族,而无需指定他们的具体类。命令封装请求成为对象。 阅读全文

WCF 的几个问题

2011-08-02 13:02 by DanielWise, 2055 阅读, 2 推荐, 收藏, 编辑
摘要:1. ChannelFactory.Endpoint.Address.Uri.AbsolutePath需求: 如果我想通过endpointConfigurationName 来获取终结点信息,同时又想在运行时动态设定相对地址,应该怎么做?1). 按照如下配置设置终结点信息,注意address 中的地址是编译时的地址,不是运行时的地址。 1: <endpoint name="JobResultService" 2: address="http://0.0.0.0:0/JobResultService" 3: binding="basicBi 阅读全文

WCF 附录 高级主题 系列文章

2011-07-17 08:29 by DanielWise, 2781 阅读, 3 推荐, 收藏, 编辑
摘要:上一个系列主要描述WCF 对网站应用的支持。本章是WCF 附录部分,主要讲述了使用元数据创建客户端,配置HTTP/TCP 连接等等。[第1篇] 基础我们需要知道很多东西才能使用微软通信基础架构(WCF)来开发应用程序。尽管这本书已经试着囊括普通开发人员需要了解的WCF所有内容,也还是有一些内容没有讨论到。附录的主要目的是填充这些罅隙。[第2篇] 从元数据创建客户端MetadataResolver类允许使用程式而不是使用配置文件来收集绑定信息。这意味着客户端可以动态创建而不需要确定一个配置文件。如果你想部署客户端然后再改服务的配置的话那么这个很有用。[第3篇] 从元数据创建Silverlight 阅读全文

WCF 第十三章 可编程站点 系列文章

2011-07-16 09:32 by DanielWise, 2226 阅读, 2 推荐, 收藏, 编辑
摘要:上一个系列主要描述WCF对创建分布式应用非常常见的对等网的支持和扩展。本系列主要描述WCF 对网站应用的支持。通过本章你将了解如何完成一个图片服务,至此我们的WCF 之旅也将要告一段落,希望你已经有所收获和想法。[第1篇] 可编程站点可编程站点是指一系列设计来帮助开发人员创建站点服务的技术。有很多方式来创建站点服务。我们已经在本书中提及如何使用WCF创建使用SOAP, HTTP 和 XML的WS-* 网络服务。基于WS-* 的服务一般使用一个面向服务的解决方案创建。[第2篇] 所有都与URI相关HTTP协议被认为是站点协议。HTTP协议的初衷是交换HTML页,但是它已经被用来访问所有类型的资源 阅读全文

WCF 第十二章 对等网 系列文章

2011-07-13 08:37 by DanielWise, 2928 阅读, 2 推荐, 收藏, 编辑
摘要:上一个系列主要描述工作流服务,WCF 与WF 是如何相互关联、一起使用的。本篇主要描述WCF对创建分布式应用非常常见的对等网的支持和扩展,相信大家对P2P已经非常熟悉,但是对基于WCF架构的P2P会很新奇,本系列将就这方面做深入的探讨。[第1篇] 对等网很多开发人员在创建分布式应用程序时会考虑客户端-服务端或者n-层结构模型。另外一个通常会被忽略的创建分布式应用程序的方案是点到点(P2P)模型。大多数流行的互联网应用程序中的一部分,包含即时通信,游戏以及文件共享,都使用P2P方案。与其他应用程序的类型不同,一个P2P应用程序假设没有中心结点,这意味着客户端和服务端之间没有区别。这里介绍了在应用 阅读全文

WCF 第十一章 工作流服务 系列文章

2011-07-11 21:27 by DanielWise, 2973 阅读, 0 推荐, 收藏, 编辑
摘要:上一个系列主要描述WCF中的异常处理方法,因为没有人敢保证复杂系统中没有任何异常,一个完整系统的异常处理系统也应该是非常强大的,WCF中的异常处理可以帮助我们在面对类似事情时更加从容一些。本篇主要描述工作流服务,WCF 与WF 是如何相互关联、一起使用的。[第1篇] 工作流服务在本书阐述到此时,你已经知道了WCF就是关于服务定义,服务创建和服务安全的。服务契约中有规范化描述的定义的很好的边界,但是从服务外面看,内部工作是完全不透明的。WCF 描述了很少的一部分服务实现;它简单地提供了接口来可信赖地并安全地与客户端交换消息。[第2篇] 从WF调用一个WCF服务WF活动是工作流程序的构建块。每个活 阅读全文

WCF 第十章 异常处理 系列文章

2011-07-10 08:44 by DanielWise, 2363 阅读, 0 推荐, 收藏, 编辑
摘要:上一个系列主要描述如何知道你的WCF服务正在做什么以及出问题时候底层在做什么?我们不能保证WCF服务一直稳定运行,但我们可以保证在WCF出现异常时可以第一时间找到问题。本篇主要描述WCF中的异常处理方法,因为没有人敢保证复杂系统中没有任何异常,一个完整系统的异常处理系统也应该是非常强大的,WCF中的异常处理可以帮助我们在面对类似事情时更加从容一些。[第1篇] 异常处理软件开发中最残酷的现实是纵然非常小心地完成的系统也有崩溃和不曾预料的场景发生。一个好的开发人员要保证在创建阻止问题发生的软件和处理由软件导致错误的能力的一个平衡。基于服务的分布式系统没有异常。事实上,基于服务的分布式系统通过引入诸 阅读全文
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 26 下一页