摘要:几个星期之前写了一篇关于如何通过WCF进行 双向通信的文章([原创]我的WCF之旅(3):在WCF中实现双向通信(Bi-directional Communication) ), 在文章中我提供了一个如果在Console Application 调用Duplex WCF Service的Sample。前几天有个网友在上面留言说,在没有做任何改动得情况下,把 作为Client的ConsoleApplication 换成Winform Application,运行程序的时候总是出现Timeout的错误。我觉得这是一个很好的问题,通过这个问题,我们可以更加深入地理解WCF的消息交 换的机制。1.问题 阅读全文
我的WCF之旅(6):在Winform Application中调用Duplex Service出现TimeoutException的原因和解决方案(转载)
2012-09-10 13:18 by C#与.NET探索者, 152 阅读, 0 推荐, 收藏, 编辑我的WCF之旅(7):面向服务架构(SOA)和面向对象编程(OOP)的结合——如何实现Service Contract的继承(转载)
2012-09-10 13:18 by C#与.NET探索者, 258 阅读, 0 推荐, 收藏, 编辑
摘要:当今的IT领域,SOA已经成为了一个非常时髦的词,对SOA风靡的程度已经让很多人对 SOA,对面向服务产生误解。其中很大一部分人甚至认为面向服务将是面向对象的终结,现在的面向对象将会被面向服务完全代替。在开始本Blog之前,我先 来谈谈我对SOA和OO的区别,首先申明,这只是一家之言,欢迎大家批评指正,并且关于SO的谈论不是本Blog的主题,只是主题的引子,在这里只是简单 讨论而已 。OO和SO之间具有共同的部分,在运用的领域上存在交集,只有在基于他们交集层面上谈论谁是谁非才有意义,下面是我对SO和OO的区别。OO关注的是如何通过对实体属性和行为的封装来 重塑模拟软件环境的真实实体。对SO关注 阅读全文
我的WCF之旅(4):WCF中的序列化(Serialization)- Part II (转载)
2012-09-10 13:17 by C#与.NET探索者, 176 阅读, 0 推荐, 收藏, 编辑
摘要:... ...续Part I([原创] 我的WCF之旅(4):WCF中的序列化(Serialization)- Part I)XMLSerializer提到XMLSerializer,我想绝大多数人都知道这是asmx采用的Serializer。首先我们还是来看一个例子,通过比较Managed Type的结构和生成的XML的结构来总结这种序列化方式采用的是怎样的一种Mapping方式。和DataContractSerialzer Sample一样,我们要定义用于序列化对象所属的Type——XMLOrder和XMLProduct,他们和相面对应的DataContractOrder和DataCont 阅读全文
我的WCF之旅(5):Service Contract中的重载(Overloading)(转载)
2012-09-10 13:17 by C#与.NET探索者, 200 阅读, 0 推荐, 收藏, 编辑
摘要:对于.NET重载(Overloading) ——定义不同参数列表的同名方法(顺便提一下,我们但可以在参数列表上重载方法,我们甚至可以在返回类型层面来重载我们需要的方法——页就是说,我们可以 定义两个具有相同参数列表但不同返回值类型的两个同名的方法。不过这种广义的Overloading不被我们主流的.NET 语言所支持的——C#, VB.NET, 但是对于IL来说,这这种基于返回值类型的Overloading是支持的)。相信大家听得耳朵都要起老茧了。我想大家也清楚在编写传统的XML Web Service的时候,Overloading是不被支持的。原因很简单,当我们用某种支持.NET的高级语 言 阅读全文
我的WCF之旅(4):WCF中的序列化(Serialization)- Part I(转载)
2012-09-10 13:16 by C#与.NET探索者, 183 阅读, 0 推荐, 收藏, 编辑
摘要:SOA 和MessageWindows Communication Foundation (WCF) 是基于面向服务架构(Service Orientation Architecture——SOA)的一种理想的分布式技术(Distributed Technology), 相信在今后在建立基于SOA企业级别的解决方案和进行系统集成方面将会大有作为。一个基于SOA结构的互联系统(Connected System)通常由若干相互独立的子系统(Sub-System)组成,这些子系统可能一个独立的Application,也可能是由若干Application相互集成共同完成一组相关的任务的小系统。这些子系 阅读全文
我的WCF之旅(3):在WCF中实现双向通信(Bi-directional Communication)(转载)
2012-09-10 13:15 by C#与.NET探索者, 211 阅读, 0 推荐, 收藏, 编辑
摘要:双工(Duplex)模式的消息交换方式体现在消息交换过程中,参与的双方均可以向对方发送消息。基于双工MEP消息交换可以看成是多个基本模式下 (比如请求-回复模式和单项模式)消息交换的组合。双工MEP又具有一些变体,比如典型的订阅-发布模式就可以看成是双工模式的一种表现形式。双工消息交 换模式使服务端回调(Callback)客户端操作成为可能。一、两种典型的双工MEP1.请求过程中的回调这是一种比较典型的双工消息交换模式的表现形式,客户端在进行服务调用的时候,附加上一个回调对象;服务在对处理该处理中,通过客户端附加的回调对 象(实际上是调用回调服务的代理对象)回调客户端的操作(该操作在客户端执行 阅读全文
我的WCF之旅(2):Endpoint Overview(转载)
2012-09-10 13:14 by C#与.NET探索者, 185 阅读, 0 推荐, 收藏, 编辑
摘要:WCF实际上是构建了一个框架,这个框架实现了 在互联系统中各个Application之间如何通信。使得Developers和Architect在构建分布式系统中,无需在考虑如何去实现通信相关 的问题,更加关注与系统的业务逻辑本身。而在WCF Infrastructure中,各个Application之间的通信是由Endpoint来实现的。Endpoint的结构Endpoint包含以下4个对象:Address: Address通过一个URI唯一地标识一个Endpoint,并告诉潜在的WCF service的调用者如何找到这个Endpoint。所以Address解决了Where to locate 阅读全文
我的WCF之旅(1):创建一个简单的WCF程序(转载)
2012-09-10 13:12 by C#与.NET探索者, 138 阅读, 0 推荐, 收藏, 编辑
摘要:为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一个完整的WCF应用。本应用功能虽然简单,但它涵盖了一个完整WCF应用的基本结构。对那些对WCF不是很了解的读者来说,这个例子将带领你正式进入WCF的世界。在这个例子中,我们将实现一个简单的计算服务(CalculatorService),提供基本的加、减、乘、除的运算。和传统的分布式通信框架一 样,WCF本质上提供一个跨进程、跨机器以致跨网络的服务调用。在本例中,客户端和服务通过运行在相同的同一台机器上不同进程模拟,图1体现了客户端和服务端进程互相调用的关系。图1 计算服务应用运行环境WCF的服务不能孤立地存在,需要寄 阅读全文
C#中Attribute特性的用法(转载)
2012-09-07 10:37 by C#与.NET探索者, 836 阅读, 0 推荐, 收藏, 编辑
摘要:Attribute 类将预定义的系统信息或用户定义的自定义信息与目标元素相关联。目标元素可以是程序集、类、构造函数、委托、枚举、事件、字段、接口、方法、可移植可执行文件模块、参数、属性 (Property)、返回值、结构或其他属性 (Attribute)。属性所提供的信息也称为元数据。元数据可由应用程序在运行时进行检查以控制程序处理数据的方式,也可以由外部工具在运行前检查以控制应用程序处理或维护自身的方式。例如,.NET Framework 预定义属性类型并使用属性类型控制运行时行为,某些编程语言使用属性类型表示 .NET Framework 公共类型系统不直接支持的语言功能。所有属性类型都直 阅读全文
jQuery插件编写3(转载)
2012-09-05 18:51 by C#与.NET探索者, 142 阅读, 0 推荐, 收藏, 编辑
摘要:jQuery插件的开发包括两种:一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。下面就两种函数的开发做详细的说明。1、类级别的插件开发类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。关于类级别的插件开发可以采用如下几种形式进行扩展:1.1 添加一个新的全局函数添加一个全局函数,我们只需如下定义:Java代码jQuery.f 阅读全文