zl程序教程

WCF

  • WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务

    WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务

    在《基于IIS的WCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NET)的WCF服务寄宿中,具有两种截然不同的运行模式:ASP.NET并行(Side Side)模式和ASP.NET兼容模式。对于前者,WCF通过HttpModule实现了服务的寄宿,而对于后者,WCF的服务寄宿通过一个HttpHandler实现。只有在ASP.NET兼容模式下,我们熟悉的一

    日期 2023-09-28 09:16:33     
  • WCF技术剖析之十七:消息(Message)详解(下篇)

    WCF技术剖析之十七:消息(Message)详解(下篇)

    《WCF技术剖析(卷1)》自出版近20天以来,得到了园子里的朋友和广大WCF爱好者的一致好评,并被卓越网计算机书店作为首页推荐,在这里对大家的支持表示感谢。同时我将一直坚持这个博文系列,与大家分享我对WCF一些感悟和学习经验。在《消息(Message)详解》系列的上篇和中篇,先后对消息版本、详细创建、状态机和基于消息的基本操作(读取、写入、拷贝、关闭)进行了深入剖析,接下来我们来谈谈消息的另一个重

    日期 2023-09-28 09:16:33     
  • [WCF安全系列]认证与凭证:X.509证书

    [WCF安全系列]认证与凭证:X.509证书

    在《上篇》中,我们谈到了常用的认证方式:用户名/密码认证和Windows认证。在下篇中,我们着重来介绍另外一种重要的凭证类型:X.509证书,以及针对X.509证书的认证方式。不过为了让读者能够真正地全面地了解X.509证书,我们需要先了解一些关于非对称密码学的背景知识。 目录 一、非对称密码学(Asymmetric Cryptography)     消息加密(Encryption)

    日期 2023-09-28 09:16:33     
  • WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理

    WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理

    在前面一片文章(服务代理不能得到及时关闭会有什么后果?)中,我们谈到及时关闭服务代理(Service Proxy)在一个高并发环境下的重要意义,并阐明了其根本原因。但是,是否直接调用ICommunicationObject的Close方法将服务代理关闭就万事大吉了呢?事情远不会这么简单,这其中还会涉及关于异常处理的一些操作,这就是本篇文章需要讨论的话题。 一、异常的抛出与Close的失败 一

    日期 2023-09-28 09:16:33     
  • WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于WS-MEX的实现](提供模拟程序)

    WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于WS-MEX的实现](提供模拟程序)

    3: //其他成员 4: public IAsyncResult BeginGet(Message request, AsyncCallback callback, object state); 5: public Message EndGet(IAsyncResult result); 6: private MetadataSet GatherMetadata(string di

    日期 2023-09-28 09:16:33     
  • WCF客户端运行时架构体系详解[下篇]

    WCF客户端运行时架构体系详解[下篇]

    当基于某个终结点创建的ChannelFactory TChannel 被开启的之后,位于服务模型层的客户端运行时框架被成功构建。站在编程的角度看ChannelFactory TChannel ,它就是一个创建用于服务调用的服务代理对象的工厂。由于服务调用需要借助于服务代理来完成,我们很有必要从整个客户端运行架构层面来了解服务代理和基于服务代理的服务调用是如何实现的。 目录 一、服务代理是一个

    日期 2023-09-28 09:16:33     
  • WCF REST系列文章汇总(共9篇)

    WCF REST系列文章汇总(共9篇)

    什么是 Rest 动词 罗伊·菲尔丁(Roy Fielding)创造了 Representational state transfer (REST)的名称。与 SOAP 相比,这是一项非常简单且轻巧的 Web 服务。性能,可扩展性,简单性,可移植性和可修改性是其余设计背后的主要原则。REST 是一种无状态,可缓存和简单的体系结构,不是协议,而是模式。

    日期 2023-09-28 09:16:33     
  • WCF技术剖析之三十一: WCF事务编程[中篇]

    WCF技术剖析之三十一: WCF事务编程[中篇]

    1: static void PrintTransactionFlowSupport(Binding binding) 2: { 3: TransactionFlowBindingElement transactionFlowElement = binding.CreateBindingElements().Find TransactionFlowBindingElement 4:

    日期 2023-09-28 09:16:33     
  • WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇]

    WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇]

    1: [XmlRoot(ElementName="MetadataSection", Namespace="http://schemas.xmlsoap.org/ws/2004/09/mex")] 2: public class MetadataSection 3: { 4: //其他成员 5: public MetadataSection(); 6: public Met

    日期 2023-09-28 09:16:33     
  • WCF入门教程1——WCF简要介绍

    WCF入门教程1——WCF简要介绍

    什么是WCF Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。 整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有Http和Ftp的相关技术。WCF是对这些技术的统一 根据MSDN上的定义:WCF为.NetFramewo

    日期 2023-09-28 09:16:33     
  • [WCF 4.0新特性] 默认终结点

    [WCF 4.0新特性] 默认终结点

    很多WCF的初学者是从之前的Web服务上转移过来的,他们非常怀念.asmx Web服务无配置的服务寄宿方式。你只需要在定义Web服务的时候再表示服务操作的方法上应用WebMethodAttribute特性就可以了,完全可以不需要手工进行相应的配置,因为Web服务运行时会自动为你添加默认的配置。但是对于WCF来说,在进行服务寄宿的时候,你必须以编程或者配置的方式为服务添加至少一个终结点,而终结点需要

    日期 2023-09-28 09:16:33     
  • [WCF安全系列]消息的保护等级[上篇]

    [WCF安全系列]消息的保护等级[上篇]

    到目前为止,对于WCF安全传输的三个方面,我们已经对认证进行了详细的介绍,现在我们来关注另外两个话题:消息的一致性和机密性,两者又统称为消息保护(Message Protection)。消息的安全等级指的是对整个消息或者消息的某个部分事实安全保护采用的等级。按照级别的由低到高,WCF支持如下三种不同的安全等级。在WCF的应用编程接口中,消息保护级别通过如下定义的ProtectionLevel枚举

    日期 2023-09-28 09:16:33     
  • 通过自定义ServiceHost实现对WCF的扩展[实例篇]

    通过自定义ServiceHost实现对WCF的扩展[实例篇]

    在《原理篇》中我们谈到了通过自定义ServiceHost对WCF进行扩展的本质,以及在IIS/WAS寄宿情况下ServiceHostFactory的作用。接下来通过一个具体的例子来演示如何通过WCF扩展实现以Unity为代表的IoC框架的集成,以及应用该扩展的ServiceHost和ServiceHostFactory如何定义。[源代码从这里下载] 目录 一、IoC/DI简介 步骤一、自

    日期 2023-09-28 09:16:33     
  • WCF全双工数据传输

    WCF全双工数据传输

    项目结构: 客户端:   using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; using System.Runtime.Serialization.Formatters.Binary; using Syste

    日期 2023-09-28 09:16:33     
  • ASP.NET MVC提交一个较复杂对象至WCF Service

    ASP.NET MVC提交一个较复杂对象至WCF Service

    前一篇《jQuery.Ajax()执行WCF Service的方法》http://www.cnblogs.com/insus/p/3727875.html 我们有练习在asp.net mvc应用程序中,POST 数据去wcf service并执行方法。本篇的练习是提交较复对象至wcf service执行方法。前一篇中,它只传递两个参数。如果我们平时开发,需要传递过多的参数时,那得需要写

    日期 2023-09-28 09:16:33     
  • 深入剖析授权在WCF中的实现[共14篇]

    深入剖析授权在WCF中的实现[共14篇]

    微信公众账号:大内老A 微博:www.weibo.com/artech 如果你想及时得到个人撰写文章以及著作的消息推送,或者想看看个人推荐的技术资料,可以扫描左边二维码(或者长按识别二维码)关注个人公众号(原来公众帐号蒋金楠的自媒体将会停用)。 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 原文链接

    日期 2023-09-28 09:16:33     
  • [WCF安全系列]从两种安全模式谈起

    [WCF安全系列]从两种安全模式谈起

    WCF的安全体系主要包括三个方面:传输安全(Transfer Security)、授权或者访问控制(Authorization OR Access Control)以及审核(Auditing)。而传输安全又包括两个方面:认证(Authentication)和消息保护(Message Protection)。认证帮助客户端或者服务确认对方的真实身份,而消息保护则通过签名和加密实现消息的一

    日期 2023-09-28 09:16:33     
  • 基于WCF大型分布式系统的架构设计

    基于WCF大型分布式系统的架构设计

    在大型系统中应用中,一个架构设计较好的应用系统,其总体功能肯定是由很多个功能模块所组成的,而每一个功能模块所需要的数据对应到数据库中就是一个或多个表。而在架构设计中,各个功能模块相互之间的交互点 越统一、越少,系统的耦合度就越低,系统各个模块的维护性及扩展性也就越好。 在一个系统中特别是较为大型的系统中,如电子商务系 统,可也按照功能,切分为,订单管理系统、商品管理系统、用户管理系统、供应商管

    日期 2023-09-28 09:16:33     
  • 通过添加HTTP Header实现上下文数据在WCF的自动传递

    通过添加HTTP Header实现上下文数据在WCF的自动传递

    多年之前,我写了一篇通过WCF扩展实现上下文信息从客户端自动传递到服务端的文章,其实现机制很简单:将上下文信息存放到SOAP Header进行传递。那么对于非SOAP消息的RESTful服务就不使用了。为了解决这个问题,我们可以将存放上下文信息的地方从SOAP Header替换成HTTP Header。这篇为你消息讲述具体的实现[源代码从这里下载]。 目录 一、 Ambient Co

    日期 2023-09-28 09:16:33     
  • WCF后续之旅(9): 通过WCF双向通信实现Session管理[下篇]

    WCF后续之旅(9): 通过WCF双向通信实现Session管理[下篇]

    18: string sessionTimeout = ConfigurationManager.AppSettings["SessionTimeout"]; 19: if (string.IsNullOrEmpty(sessionTimeout)) 20: { 21: throw new ConfigurationErrorsException("The session t

    日期 2023-09-28 09:16:33     
  • [WCF-Discovery]如何利用”发现代理”实现可用服务的实时维护?

    [WCF-Discovery]如何利用”发现代理”实现可用服务的实时维护?

    上面的内容大部分是围绕着Ad-Hoc模式展开介绍的。Managed模式和Ad-Hoc不同之处在于可用服务的终结点通过发现代理来统一管理。客户端在进行可用目标服务探测和解析的时候不再需要发送广播请求,而是直接向发现代理进行探测和解析请求就可以了。[源代码从这里下载] 目录 一、发现代理与Managed发现模式 二、通过继承DiscoveryProxy创建发现代理 三、实例演示:自定义发

    日期 2023-09-28 09:16:33     
  • WCF后续之旅(15): 逻辑地址和物理地址

    WCF后续之旅(15): 逻辑地址和物理地址

    在WCF中,每个终结点都包含两个不同的地址——逻辑地址和物理地址。逻辑地址就是终结点Address属性表示的地址。至于物理地址,对于消息发送放来讲,就是消息被真正发送的目的地址;而对于消息的接收放来讲,就是监听器真正监听的地址。 一、服务端的物理地址 在默认的情况下,终结点的逻辑地址和物理地址是同一个URI。换句话说,终结的逻辑地址是必须的,如何物理地址没有指定的,默认使用逻辑地址作为物理

    日期 2023-09-28 09:16:33     
  • [WCF权限控制]基于Windows用户组的授权方式[上篇]

    [WCF权限控制]基于Windows用户组的授权方式[上篇]

    Windows用户组安全主体权限模式,顾名思义,就是将利用Windows安全系统将对应的Windows帐号所在的用户组作为该用户权限集的授权方式。认证和授权密不可分,但是对于认证和授权在WCF安全体系中的实现来说,它们则是相对独立的。认证属于安全传输的范畴,是在信道层实现的,而授权则是在服务模型层实现的。但是对于基于Windows用户组的授权来说,最终体现出来的授权行为却和采用何种认证具有密切的关

    日期 2023-09-28 09:16:33     
  • 服务端:WCF服务层安全检查核心类

    服务端:WCF服务层安全检查核心类

    using System.Data; using CSFrameworkV4_5.Common; using CSFrameworkV4_5.Core.SystemSecurity; using CSFrameworkV4_5.Models; using CSFrameworkV4_5.Server.DataAccess.DAL_Permission; namespace CSFramewo

    日期 2023-09-28 09:16:33     
  • WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用

    WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用

    如果一个类型,不一定是数据契约,和给定的数据契约具有很大的差异,而我们要将该类型的对象序列化成基于数据契约对应的XML。反之,对于一段给定的基于数据契约的XML,要通过反序列化生成该类型的对象,我们该如何实现这样的场景? 比如下面定义了两个类型Contact和Customer,其中Customer是数据契约,Contact的Sex属性相当于Customer的Gender属性,而Contact的

    日期 2023-09-28 09:16:33     
  • WCF技术剖析之六:为什么在基于ASP.NET应用寄宿(Hosting)下配置的BaseAddress无效

    WCF技术剖析之六:为什么在基于ASP.NET应用寄宿(Hosting)下配置的BaseAddress无效

    本篇文章来源于几天前一个朋友向我咨询的问题。问题是这样的,他说他采用ASP.NET应用程序的方式对定义的WCF服务进行寄宿(Hosting),并使用配置的方式对服务的BaseAddress进行了设置,但是在创建ServiceHost的时候却抛出InvalidOperationException,并提示相应Address Scheme的BaseAddress找不到。我意识到这可能和WCF中用于判断

    日期 2023-09-28 09:16:33     
  • 《WCF全面解析》(上册)- 目录

    《WCF全面解析》(上册)- 目录

       1.1  SOA的基本概念和设计思想    3    1.2  WCF是对现有分布式通信技术的整合    4    1.3  构建一个简单的WCF应用    6        步骤一、构建整个解决方案    7        步骤二、创建服务契约    8        步骤三  创建服务    8        步骤四  通过自我寄宿的方式寄宿服务    9  

    日期 2023-09-28 09:16:33     
  • 并发与实例上下文模式: WCF服务在不同实例上下文模式下具有怎样的并发表现

    并发与实例上下文模式: WCF服务在不同实例上下文模式下具有怎样的并发表现

    由于WCF的并发是针对某个封装了服务实例的InstanceContext而言的,所以在不同的实例上下文模式下,会表现出不同的并发行为。接下来,我们从具体的实例上下文模式的角度来剖析WCF的并发,如果对WCF实例上下文模式和实例上下文提供机制不了解的话,请参阅《WCF技术剖析(卷1)》第9章。 在《实践重于理论》一文中,我写一个了简单的WCF应用,通过这个应用我们可以很清楚了监控客户端和服务操作

    日期 2023-09-28 09:16:33     
  • [原创]WCF后续之旅(12): 线程关联性(Thread Affinity)对WCF并发访问的影响

    [原创]WCF后续之旅(12): 线程关联性(Thread Affinity)对WCF并发访问的影响

    在本系列的上一篇文章中,我们重点讨论了线程关联性对service和callback的操作执行的影响:在service host的时候,可以设置当前线程的SynchronizationContext,那么在默认情况下,service操作的执行将在该SynchronizationContext下执行(也就将service操作包装成delegate传入SynchronizationContext的Se

    日期 2023-09-28 09:16:33     
  • 呼叫WCF Service的方法出现Method not allowed异常

    呼叫WCF Service的方法出现Method not allowed异常

    asp.net mvc练习程序,经常性在家里电脑,笔记本或是公司的电脑之间拷贝与粘贴,如果忘记携带最新的练习程序,一些小功能只能重新写了。如前一篇《ASP.NET MVC呼叫WCF Service的方法》http://www.cnblogs.com/insus/p/3720547.html 是在公司的电脑做好的练习,昨晚回至家中,但忘记拷贝回去了。只好重新对这个方法重写。但是,它死活是

    日期 2023-09-28 09:16:33     
  • 基于CallContextInitializer的WCF扩展导致的严重问题

    基于CallContextInitializer的WCF扩展导致的严重问题

    5: throw new Exception("调用MyCallContextInitializer.AfterInvoke()出错!"); 8: public object BeforeInvoke(InstanceContext instanceContext, IClientChannel channel, Message message) 然后,我们通过ServiceBehav

    日期 2023-09-28 09:16:33     
  • [WCF权限控制]利用WCF自定义授权模式提供当前Principal[实例篇]

    [WCF权限控制]利用WCF自定义授权模式提供当前Principal[实例篇]

    在《原理篇》中我们谈到:如果采用自定义安全主体权限模式,我们可以通过自定义AuthorizationPolicy或者ServiceAuthorizationManager实现对基于当前认证用于相关的安全主体的提供,进而达到授权的目的。为了让大家对此有个更加深刻的认识,在这篇文章中我们会提供一个具体的例子。[源代码从这里下载] 目录: 一、创建自定义AuthorizationPolicy

    日期 2023-09-28 09:16:33     
  • WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇]

    WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇]

    在《上篇》中,我通过使用Delegate的方式解决了服务调用过程中的异常处理以及对服务代理的关闭。对于《WCF技术剖析(卷1)》的读者,应该会知道在第7章中我通过类似于AOP的方式解决了相似的问题,现在我们来讨论这个解决方案。 通过《服务代理不能得到及时关闭会有什么后果?》的介绍,我们知道了及时关闭服务代理的重要意义,并且给出了正确的编程方式。如果严格按照上面的编程方式,就意味着对于每一个服务调

    日期 2023-09-28 09:16:33     
  • [WCF REST] WebServiceHost有何特别之处?

    [WCF REST] WebServiceHost有何特别之处?

    WCF为REST服务的寄宿提供了一个新的ServiceHost,即WebServiceHost。WebServiceHost是ServiceHost的子类,而WebServiceHostFactory是对应的ServiceHostFactory,在基于IIS/WAS寄宿中被使用。由于对REST服务绝大部分功能的支持都是通过WebHttpBehavior这么一个终结点行为实现的,所以WebServi

    日期 2023-09-28 09:16:33     
  • WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇]

    WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇]

    在[上篇]中,我们分别站在消息交换和编程的角度介绍了SOAP Fault和FaultException异常。在服务执行过程中,我们手工抛出FaultException异常,WCF服务端框架会对该异常对象进行序列化病最终生成Fault消息。当WCF客户端框架介绍到该Fault消息之后,会做一项相反的操作:对Fault消息中进行解析和反序列化,重新生成并抛出FaultException异常。WCF框

    日期 2023-09-28 09:16:33     
  • 通过“四大行为”对WCF的扩展[原理篇]

    通过“四大行为”对WCF的扩展[原理篇]

    整个WCF框架由两个基本的层次构成,即服务模型层和信道层。对信道层的扩展主要通过针对绑定的扩展实现,具体来说就是自定义绑定元素,以及相关的信道管理器(信道监听器和信道工厂)、信道来改变对消息的处理和传输方式。 而对于服务模式型层的扩展则主要体现服务端和客户端运行时框架的定制,进而让WCF按照我们希望的方式进行运作。由于整个运行时框架由一系列的可扩展组件构成,并且大部分运行时属性也可以改写,所以针

    日期 2023-09-28 09:16:33     
  • WCF  HTTP 错误 404.3 - Not Found(因为扩展配置问题而无法提供您请求的页面。假设该页面是脚本,请加入处理程序。假设应下载文件,请加入 MIME 映射。)

    WCF HTTP 错误 404.3 - Not Found(因为扩展配置问题而无法提供您请求的页面。假设该页面是脚本,请加入处理程序。假设应下载文件,请加入 MIME 映射。)

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking错误信息:HTTP 错误 404.3 - Not Found 因为扩展配置问题而无法提供您请求的页面。假设该页面是脚本,请加入处理程序。假设应下载文件,请加入 MIME 映射。 最可能的原因: 可能是缺少处理程序映射。默认情况下。静态文件处理程序将处理全部内容。 您要使用的功能可能尚未安

    日期 2023-09-28 09:16:33     
  • [WCF安全系列]消息的保护等级[下篇]

    [WCF安全系列]消息的保护等级[下篇]

    在《上篇》中,我们着重讨论了消息的保护等级如果在契约中定义,定义在不同契约(服务契约、错误契约和消息契约)中的消息保护等级具有怎样的层级关系,以及在默认情况下各种绑定采用怎样的保护等级。在下篇中,我们进一步来探讨消息保护等级和绑定的关系。 一、契约的保护等级为绑定进行消息保护设置了“最低标准” 二、显式地将保护等级设置成ProtectionLevel.None与没有设置保护等级有区别吗?

    日期 2023-09-28 09:16:33     
  • WCF 4.0新特性汇总[共12篇]

    WCF 4.0新特性汇总[共12篇]

    此页面是否是列表页或首页?未找到合适正文内容。

    日期 2023-09-28 09:16:33     
  • 我的WCF之旅(4):WCF中的序列化[下篇]

    我的WCF之旅(4):WCF中的序列化[下篇]

    ... ...续Part I([原创] 我的WCF之旅(4):WCF中的序列化(Serialization)- Part I)XMLSerializer 提到XMLSerializer,我想绝大多数人都知道这是asmx采用的Serializer。首先我们还是来看一个例子,通过比较Managed Type的结构和生成的XML的结构来总结这种序列化方式采用的是怎样的一种Mapping方式。和Da

    日期 2023-09-28 09:16:33     
  • 使命必达: 深入剖析WCF的可靠会话[编程篇](下)

    使命必达: 深入剖析WCF的可靠会话[编程篇](下)

    整个可靠会话的机制是完全在信道层实现的,而整个信道层的最终缔造者就是绑定,所以可靠会话编程是围绕着绑定进行的。《上篇》对实现可靠会话的绑定元素已经如何使用系统绑定实现可靠会话进行了介绍,下篇将和你探讨WCF可靠会话编程模型余下两个主题:自定义绑定和对消息传递的强制约束。 一、为自定义绑定的可靠会话进行设置 绑定是一系列绑定元素的有序组合,但是系统绑定为我们提供适应了某种典型通信环境的绑定元素组

    日期 2023-09-28 09:16:33     
  • 我的WCF之旅(4):WCF中的序列化[上篇]

    我的WCF之旅(4):WCF中的序列化[上篇]

    SOA 和Message Windows Communication Foundation (WCF) 是基于面向服务架构(Service Orientation Architecture——SOA)的一种理想的分布式技术(Distributed Technology), 相信在今后在建立基于SOA企业级别的解决方案和进行系统集成方面将会大有作为。一个基于SOA结构的互联系统(Conne

    日期 2023-09-28 09:16:33     
  • 并发中的同步--WCF并发体系的同步机制实现

    并发中的同步--WCF并发体系的同步机制实现

    在《WCF 并发的本质》中,我们谈到了WCF提供的三种不同的并发模式,使开发者可以根据具体的情况选择不同的并发处理的策略。对于这三种并发模式,Multiple采用的并行的执行方式,而Single和Reentrant则是采用串行的执行方式。串行执行即同步执行,在WCF并发框架体系中,这样的同步机制是如何实现的呢? 一、Concurrency.Single模式下的同步实现 实际上,WCF并发

    日期 2023-09-28 09:16:33     
  • WCF中的Binding模型之二: 信道与信道栈(Channel and Channel Stack)

    WCF中的Binding模型之二: 信道与信道栈(Channel and Channel Stack)

    WCF采用基于消息交换的通信方式,而绑定则实现了所有的通信细节。绑定通过创建信道栈实现了消息的编码与传输,以及对WS-*协议的实现。在这一节中,我们就来着重介绍WCF中的信道和信道栈。在正式开始对信道和信息栈的介绍之前,我们先来介绍两个重要的类型:CommunicationObject和DefaultCommunicationTimeouts。 一、 CommunicationObject

    日期 2023-09-28 09:16:33     
  • 序列化和反序列化,异步调用web/wcf/函数

    序列化和反序列化,异步调用web/wcf/函数

    XmlSerializer serializer = new XmlSerializer(typeof(DataSet)); StringBuilder sb = new StringBuilder(); XmlWriter writer = XmlWriter.Create(sb); serializer.Serialize(writer, ds); return sb.ToS

    日期 2023-09-28 09:16:33     
  • WCF后续之旅(17):通过tcpTracer进行消息的路由

    WCF后续之旅(17):通过tcpTracer进行消息的路由

    对于希望对WCF的消息交换有一个深层次了解的读者来说,tcpTracer绝对是一个不可多得好工具。我们将tcpTracer置于服务和服务代理之间,tcpTracer会帮助我们接获、显示和转发流经他的消息。 从本质上讲,tcpTracer是一个路由器。当启动的时候,我们需要设置两个端口:原端口(source port)和目的端口(destination port),然后tcpTracer

    日期 2023-09-28 09:16:33     
  • [WCF的Binding模型]之三:信道监听器(Channel Listener)

    [WCF的Binding模型]之三:信道监听器(Channel Listener)

    信道管理器是信道的创建者,一般来说信道栈的中每个信道对应着一个信道管理器。基于不同的消息处理的功能,将我们需要将相应的信道按照一定的顺序能组织起来构成一个信道栈,由于信道本身是由信道管理器创建的,所以信道对应的信道管理器也构成一个信道管理器栈,栈中信道管理器的顺序决定由它所创建信道的顺序。 对于WCF的信道层来说,信道管理器在服务端和客户端扮演着不同的角色,服务端的信道管理器在于监听来自客

    日期 2023-09-28 09:16:33     
  • 检测WCF服务是否在线(动态执行WCF服务)

    检测WCF服务是否在线(动态执行WCF服务)

      在我们的系统里有多个wcf支撑。但是有的时候会莫名的停止,于是今天写了一个服务,定时去检测其他wcf服务是否在线。那么最简单的办法自然是引用其他wcf服务让vs给我们自动生成clientProxy然后一个个去调用是否正常。但是这种办法显然不是我要的。我要弄一个通用的服务检测。   方案1:   对于httpbinding的wcf服务有个最简单的检测方法:就是用httpClient去请求一下服

    日期 2023-09-28 09:16:33     
  • [WCF REST] Web消息主体风格(Message Body Style)

    [WCF REST] Web消息主体风格(Message Body Style)

    对于Web HTTP编程模型来说,服务契约中作为操作的方法无须应用OperationContractAttribute特性,只需要根据需要应用WebGetAttribute与WebInvokeAttribute特性即可。前者针对GET HTTP方法,或者则针对其他HTTP方法。WebGetAttribute与WebInvokeAttribute的属性BodyStyle和IsBodyStyle

    日期 2023-09-28 09:16:33     
  • WCF并发(Concurrency)的本质:同一个服务实例上下文(InstanceContext)同时处理多个服务调用请求

    WCF并发(Concurrency)的本质:同一个服务实例上下文(InstanceContext)同时处理多个服务调用请求

    服务(Service)的本质就是提供服务消费者期望的某种功能,服务的价值体现在两个方面:服务本身的质量和寄宿服务的平台应付消费者的数量,并发(Concurrency)的关注的是第二个要素。WCF服务寄宿于资源有限的环境中,要实现服务效用的最大化,需要考虑如何利用现有的资源实现最大的吞吐量(Throughput)。提高吞吐量就某个寄宿的服务实例(Service Instance)来说,一个重要的途

    日期 2023-09-28 09:16:33