摘要: 示例一中我们的宿主程序非常简单:只是简单的实例化了一个ServiceHost对象,然后调用open方法来启动服务。而关于终结点的配置我们都是通过配置文件来完成的。在本讲中,我们将直接使用编程方式来配置终结点。ServiceHost类 即服务宿主类,它为我们的服务提供一个运行环境。ServiceHost的构造函数有三个重载: ServiceHost() 使用无参数的构造必须要有相应的配置文件设置。 ... 阅读全文
posted @ 2010-05-17 16:58 xfrog 阅读(4597) 评论(0) 推荐(4) 编辑
摘要: 示例一中我们使用了scvutil命令自动生成了服务的客户端代理类: svcutil http://localhost:8000/?wsdl /o:FirstServiceClient.cs 命令中http://localhost:8000/?wsdl连接返回一个XML,该XML即为元数据:用以描述如何与服务的终结点进行交互。正因为有元数据的存在,svcutil命令才能自动生成客户端代理类。 元数据... 阅读全文
posted @ 2010-05-16 15:13 xfrog 阅读(5827) 评论(4) 推荐(2) 编辑
摘要: .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的运行时行为,相对于在设计时通过程序来设定运行时行为,配置文件具有更高的灵活性:我们无需重新编译程序即可修改应用程序行为。编译器最终会将App.config编译成 [应用程序名称].exe.config 文件,并放在当前应用程序目录中。... 阅读全文
posted @ 2010-05-15 11:38 xfrog 阅读(6732) 评论(5) 推荐(4) 编辑
摘要: 地址 地址指定了接收消息的位置,WCF中地址以统一资源标识符(URI)的形式指定。URI由通讯协议和位置路径两部分组成,如示例一中的: http://localhost:8000/ 表明通讯协议为http,位置是localhost(本机)的8000端口。 注意上述提到的消息是指一个独立的数据单元,一般由消息正文和消息头组成,而服务端与客户端的交互都是通过消息来进行的。 WCF中支持的传输协议... 阅读全文
posted @ 2010-05-14 14:37 xfrog 阅读(5445) 评论(2) 推荐(5) 编辑
摘要: 面向服务 服务是复用进化的结果,起初的复用是函数,面向对象编程的出现使复用从函数上升到对象,随后面向组件编程又将复用从对象上升到组件,现在面向服务编程将复用提升到服务层次。 在面向服务的应用程序中,开发者只需要关注业务逻辑的编写,以及通过可交换的、可互操作的服务终结点暴露业务逻辑。客户端调用这些终结点,而不是服务代码或它的实现包。客户端与服务终结点的交互基于标准的消息交换,服务发布各种标准元数据,... 阅读全文
posted @ 2010-05-13 14:50 xfrog 阅读(5245) 评论(2) 推荐(6) 编辑
摘要: Windows Communication Foundation(WCF)是微软为构建面向服务的应用程序所提供的统一编程模型。WCF的基本概念: 地址:定义服务的地址 绑定:定义服务的通讯方式(传输协议、编码方案) 契约:定义服务的具体实现 终结点:由地址、绑定和契约共同构成一个终结点,服务器通过终结点向客户端公开服务,客户端通过终结点调用服务。 下面通过一个简单的服务示例来认识WCF(只需让本... 阅读全文
posted @ 2010-05-12 14:55 xfrog 阅读(12649) 评论(15) 推荐(14) 编辑
摘要: 此文内容已过期,现在可使用Newtonsoft.Json库来序列化/反序列化JSON(http://james.newtonking.com/json)。在.NET Framework 3.5中已经提供了一个JSON对象的序列化工具,但是他是强类型的,必须先按JSON对象的格式定义一个类型,并将类型加上JSON序列化特性。本文将试图提供一个高度灵活的JSON通用类型(JsonObject),实现对JSON的解析及序列化。假设JSON对象内容如下:隐藏行号 复制代码 ? JSON{orders: {date: '21:31:59',name: 'Xfrog',bo 阅读全文
posted @ 2010-04-07 22:07 xfrog 阅读(81818) 评论(35) 推荐(10) 编辑