WCF 4.0新特性-标准终结点与无(.SVC)文件服务激活

评论(0)浏览(114)分类:Asp.Net/C#/WCF
WCF 4.0新特性-标准终结点与无(.SVC)文件服务激活  WCF 4.0的另外两个新特性:标准终结点(Standard Endpoint)和无(.SVC)文件服务激活(File-Less Activation)。前者实现了针对典型通信场景对终结点的定制,后者让你在进行IIS/WAS的服务寄宿中无须定义.svc文件。一、标准终结点  我们知道,绑定的本质就是一系列相关绑定元素的有序集合,而系统绑定就是基于若干典型的通信场景对相关绑定元..

WCF 4.0新特性-默认终结点

评论(0)浏览(92)分类:Asp.Net/C#/WCF
WCF 4.0新特性-默认终结点  很多WCF的初学者是从之前的Web服务上转移过来的,他们非常怀念.asmx Web服务无配置的服务寄宿方式。你只需要在定义Web服务的时候再表示服务操作的方法上应用WebMethodAttribute特性就可以了,完全可以不需要手工进行相应的配置,因为Web服务运行时会自动为你添加默认的配置。但是对于WCF来说,在进行服务寄宿的时候,你必须以编程或者配置的..

.net remoting-创建CAO Service Factory使接口和实现相互分离

评论(0)浏览(107)分类:Asp.Net/C#/WCF
.net remoting-创建CAO Service Factory使接口和实现相互分离  对于 Remoting,有两种不同的Activation模式:Server Activation和Client Activation。他我在前面的系列文章中分析、比较了这两种不同激活方式的区别:Marshaling方式,远程对象创建的时机,状态的保持,生命 周期的管理。 在编程模式方面Server Activation和Client Activation也具有一定的差异:为一个SAO(server activated object)和一个..

.net remoting-远程对象的生命周期管理[上篇]

评论(0)浏览(116)分类:Asp.Net/C#/WCF
.net remoting-远程对象的生命周期管理[上篇]1.CLR的垃圾回收机制  在.NET中提到对象的生命周期,我们会不由自 主地想到CLR的垃圾回收。在运行一个.NET程序过程中,我们通过某种方式,比如通过new操作符,通过反序列化,通过反射机制,创建一个对象,CLR 在为这个对象在托管堆中开辟一块内存空间。随着程序的运行,创建的对象越来越多,托管堆中的可用的内存越来越少,必须有一种机制来判..

.net remoting-Marshaling & Activation[下篇]

评论(0)浏览(77)分类:Asp.Net/C#/WCF
.net remoting-Marshaling & Activation[下篇]  在.net remoting-Marshaling Activation[上篇], 花了大量的文字来来描述了Remote Object如何通过Marshaling的过程从Server端所在的Application Domain经过相关的转换(Transformation)传递到Client所在的Application Domain供Client调用; 以及Client的调用请求如何在Activate处于Server端Application Domain的Remote Object。大体的要点..

.net remoting-远程对象的生命周期管理[下篇]

评论(0)浏览(158)分类:Asp.Net/C#/WCF
.net remoting-远程对象的生命周期管理[下篇]  在.net remoting-远程对象的生命周期管理[上篇], 简要的讲述了CLR的垃圾回收机制和Remoting 基于Lease的对象生命周期的管理。在文章的开始,我将以我的理解详细地讲述Remoting中两个 重要的概念Lease和Sponsorship。然后通过一个Sample,为大家演示如何以不同的方法延长远程对象的生命周期。  先不谈远程对象、本地对象。 不管是远程的对..

.net通过Remoting实现双向通信

评论(0)浏览(221)分类:Asp.Net/C#/WCF
.net通过Remoting实现双向通信  Remoting是NET平台下比较成熟高效的 分布式技术,我们习惯采用传统的远程调用的方式使用Remoting。在客户端所在的Application Domain,我们通过Proxy(Transparent Proxy)远程地跨Application Domain调用一个方法。当来自Client端的调用请求通过Proxy到达Server端所在的Application Domain后,Remoting Infrastructure在Server 端激活(Act..

.net remoting-Marshaling & Activation[上篇]

评论(0)浏览(95)分类:Asp.Net/C#/WCF
.net remoting-Marshaling & Activation[上篇]什么是Marshaling Activation  对任何一项分布式技术(Distributed Technology),比如Remoting,XML Web Service,Enterprise Service,Marshaling和Activation(对于Marshaling,我实在是找不到一个比较贴切的中文短语来翻译,很多书把它翻译 成封送,我总觉得很别扭,所以在这里我就直接用英文Marshaling,如果读者有较好的翻译,麻烦通知我..

wcf深入剖析目录

评论(0)浏览(117)分类:Asp.Net/C#/WCF
wcf深入剖析目录[第1篇] WCF如何通过Binding进行通信  Windows Communication Foundation,顾名思义,就是一个在Windows平台下进行如何进行Communication的基础构造(Infrastructure)。 由于WCF的核心还是Communication,这个新的系列就先来讨论WCF如何进行Communication的。通过本篇文章,你将对WCF的通 信机制有一个总体的认识,了解到一些和通信相关的概念..

wcf通过tcpTracer进行消息的路由

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

WCF消息如何分发到Endpoint--消息筛选(Message Filter)

评论(0)浏览(107)分类:Asp.Net/C#/WCF
WCF消息如何分发到Endpoint--消息筛选(Message Filter)  在介绍终结点的WCF逻辑地址和物理地址时,我们提到了两个特殊的对象ChannelDispatcher和ChannelListener。这两个对象在整个WCF的消息分发系统中具有重要的地位,在这节里,我们对WCF的整个消息分发过程作一个简单的介绍。一、连接请求的监听  当我们通过ServiceHost对某个服务进行寄宿的时候,实际上WCF是在为我们创建一个监听器,并监听来..

WCF逻辑地址和物理地址

评论(0)浏览(142)分类:Asp.Net/C#/WCF
WCF逻辑地址和物理地址  在WCF中,每个终结点都包含两个不同的地址逻辑地址和物理地址。逻辑地址就是终结点Address属性表示的地址。至于物理地址,对于消息发送放来讲,就是消息被真正发送的目的地址;而对于消息的接收放来讲,就是监听器真正监听的地址。一、服务端的物理地址  在默认的情况下,终结点的逻辑地址和物理地址是同一个URI。换句话说,终结的逻辑地址..

WCF TCP端口共享

评论(0)浏览(202)分类:Asp.Net/C#/WCF
WCF TCP端口共享  在基于TCP/IP协议簇的对等网络通信下,相互通信的应用程序运行各自的进程中,出于应用层的进程将数据局封装成数据报,并通过传输层的TCP或者UDP进行网络通信。而TCP和UPD则通过一个16bit的端口来识别不同的应用程序。  对于一些常用网络服务,他们都有一个知名的端口好与之匹配。比如,FTP服务是用的TCP端口为21;Telnet 服务的TCP端口为2..

C# 获取进程cpu使用

评论(0)浏览(123)分类:Asp.Net/C#/WCF
C# 获取进程cpu使用作者:Mgen出处:www.cnblogs.com/mgen  第一个是通过手动的方法来计算CPU使用比例:CPU使用比例 = 在间隔时间内进程的CPU使用时间 除以 计算机逻辑CPU数量。  使 用Process类的UserProcessorTime和PrivilegedProcessorTime属性可以返回当前进程所耗费CPU的用户和内 核时间。Process.TotalProcessorTime则代表两者之和。它们都返回TimeSpan结..

防sql注入参数处理要点

评论(0)浏览(139)分类:黑客技术
防sql注入参数处理要点  下面的示例代码以VBScript为例,介绍防sql注入参数处理要点,只要在操作数据之前,按照下面的步骤对客户端提交的参数进行验证,一般不会出现sql注入问题,最多是脚本出错,在cint语句那里读数据库,使用连接字符串构成sql语句的,需要执行下面的操作  1)如果参数为字符串,将'替换掉xx=replace(request(xx),',)  2)如果参数为..

WCF SOAP Message拦截、转发工具示例[下篇]

评论(0)浏览(103)分类:Asp.Net/C#/WCF
WCF SOAP Message拦截、转发工具示例[下篇]  在WCF SOAP Message拦截、转发工具示例[上篇]中,我们创建了一个InterceptService,并且通过一个特殊的EndpointBehavior,ClientViaBehavior实现了 message的拦截、转发功能。在本节中,我们将讨论另外一种不同的实现方式。如何说ClientViaBehavior是基于Client端的实现方 式,那么我们今天讨论的是基于Service的实现方式。  在对新的实现..

WCF SOAP Message拦截、转发工具示例[上篇]

评论(0)浏览(164)分类:Asp.Net/C#/WCF
WCF SOAP Message拦截、转发工具示例[上篇]  WCF是.NET平台下实现SOA的一种手段,SOA的一个重要的特征就基于Message的通信方式。从 Messaging的角度讲,WCF可以看成是对Message进行发送、传递、接收、基础的工具。对于一个消息交换的过程,很多人只会关注 message的最初的发送端和最终的接收端。实际上在很多情况下,在两者之间还存在很多的中间结点(Intermediary),这些中间结点在可..

线程关联性(Thread Affinity)对WCF并发访问的影响

评论(0)浏览(130)分类:Asp.Net/C#/WCF
线程关联性(Thread Affinity)对WCF并发访问的影响  在WCF并发、回调的线程关联性(Thread Affinity)中, 我们重点讨论了线程关联性对service和callback的操作执行的影响:在service host的时候,可以设置当前线程的SynchronizationContext,那么在默认情况下,service操作的执行将在该 SynchronizationContext下执行(也就将service操作包装成delegate传入 SynchronizationContext的Send或者Po..

WCF并发、回调的线程关联性(Thread Affinity)

评论(0)浏览(317)分类:Asp.Net/C#/WCF
WCF并发、回调的线程关联性(Thread Affinity)  对于一般的多线程操作,比如异步地进行基于文件系统的 IO操作;异步地调用Web Service;或者是异步地进行数据库访问等等,是和具体的线程无关的。也就是说,对于这些操作,任意创建一个新的线程来执行都是等效的。但是有些情况 下,有些操作却只能在固定的线程下执行。比如,在GUI应用下,对控件的访问就需要在创建该控件的线程下执行;或者..

WCF Extension通过对象池创建Service Instance

评论(0)浏览(132)分类:Asp.Net/C#/WCF
WCF Extension通过对象池创建Service Instance   WCF有3种典型的对service instance进行实例化的方式,他们分别与WCF的三种InstanceContextMode相匹配,他们分别是 PerCall,PerSession和Single。PerCall为每次service invocation创建一个新的service instance; 而PerSession则让一个service instance处理来自通过各Session(一般是同一个proxy对象)的调用请求;而Single则是用同一个servi..

WCF双向通信实现Session管理[下篇]

评论(0)浏览(91)分类:Asp.Net/C#/WCF
WCF双向通信实现Session管理[下篇]一、Session Management Service的实现  现在我们来看看Session Management真正的实现,和我以前的例子不同,我不是把所有的实现都写在WCF service上,而是定义了另一个class来实现所有的业务逻辑:SessionManager。我们分析一下具体的实现逻辑。 1: namespace Artech.SessionManagement.Service 2: { 3: public static class Sessi..

WCF双向通信实现Session管理[上篇]

评论(0)浏览(139)分类:Asp.Net/C#/WCF
WCF双向通信实现Session管理[上篇]  WCF支持Duplex的消息交换模式,它允许在 service的执行过程中实现对client的回调。WCF这种双向通信的方式是我们可以以Event Broker或者订阅/发布的方式来定义和调用WCF Service。今天我们就给大家一个具体的例子:通过WCF的duplex communication方式现在Session管理。一、Session 管理提供的具体功能  我们的例子实现了下面一些Session Ma..

C#屏蔽webbrowser控件弹出弹窗

评论(0)浏览(273)分类:Asp.Net/C#/WCF
C#屏蔽webbrowser控件弹出弹窗  C#要屏蔽webbrowser控件中javascript弹出的弹窗,可以绑定WebBrowser控件的NewWindow2事件,并且设置参数cancel为true:this.axWbBrowser.NewWindow2 += new AxSHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(this.axWbBrowser_NewWindow2);//...private void axWbBrowser_NewWindow2(object sender, ..

C#控制webbrowser中新窗口打开链接在webbrowser控件中

评论(0)浏览(313)分类:Asp.Net/C#/WCF
C#控制webbrowser中新窗口打开链接在webbrowser控件中  C#如何控制webbrowser中打开的新窗口的链接(target=_blank的链接),不调用系统默认的浏览器打开,而是在webbrowser控件中打开。 假设WebBrowser的Name是 webBrowser1,下面为源代码private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){ //将所有的链接的目标,指向本窗体 foreach ..

C#实现的html内容截取

评论(0)浏览(114)分类:Asp.Net/C#/WCF
C#实现的html内容截取  C#实现的html内容截断,得到文章列表中的摘要信息。一般博客的首页只显示文章的摘要,点击标题进入以后查看全文。  下面是C#实现的html内容截断,获取html文章内容的摘要。效果还可以。效果参看web编程网。using System.Collections.Generic;public class Tool{ /// summary /// 删除标签 /// /summary /// param name=tags/p..

WCF Extension实现Context信息的传递

评论(0)浏览(114)分类:Asp.Net/C#/WCF
WCF Extension实现Context信息的传递  在WCF通过Extension实现Localization中,讨论了如何通过 CallContextInitializer实现Localization的例子,具体的做法是将client端的culture通过SOAP header传到service端,然后通过自定义的CallContextInitializer设置当前方法执行的线程culture。在 client端,当前culture信息是通过OperationContext.Current.OutgoingMessageHeaders手工至..

WCF Extension实现和Enterprise Library Unity Container的集成

评论(0)浏览(102)分类:Asp.Net/C#/WCF
WCF Extension实现和Enterprise Library Unity Container的集成  松耦合、高内聚是我们进行设计的永恒的目标,如何实现这 样的目标呢?我们有很多实现的方式和方法,不管这些方式和方法在表现形式上有什么不同,他们的思想都可以表示为:根据稳定性进行关注点的分离或者分解,交 互双方依赖于一个稳定的契约,而降低对对方非稳定性因素的依赖。从抽象和稳定性的关系来讲,抽象的程度和稳定程度成正相关关系..

WCF Extension 实现与MS Enterprise Library Policy Injection Application Block的集成

评论(0)浏览(83)分类:Asp.Net/C#/WCF
WCF Extension 实现与MS Enterprise Library Policy Injection Application Block的集成  在通过WCF Extension实现和Enterprise Library Unity Container的集成中, 我们通过自定义InstanceProvider实现了WCF和微软Enterprise Library Unity Application Block的集成, 今天我们已相同的方式实现WCF与Enterprise Library的另一个Application Block的集成:Policy Injection Application Block (PIAB)。  PIAB,通过Method Interc..

WCF通过Extension实现Localization

评论(0)浏览(133)分类:Asp.Net/C#/WCF
WCF通过Extension实现Localization  在WCF Extension Point使用介绍中, 列出了WCF一系列的可扩展对象和元素,并简单介绍了他们各自的功能、适合的场景和具体解决的问题。从本篇开始我将通过一个个具体的例子来介绍如何利用这些扩展点对WCF进行扩展,从而解决一些我们在实现的项目开发中可能出现的问题。  今天,我们将讨论如何通过WCF extension实现多语言、本地化的功能。我..

WCF Extension Point使用介绍

评论(0)浏览(142)分类:Asp.Net/C#/WCF
WCF Extension Point使用介绍  为了让读者对WCF Extension有一个总体的的认识,在这里我会简单列举了我们经常使用的绝大部分的扩展点,以及通过这些扩展点能够解决实现项目开发中的那些问题。  有一点需要特别提醒的是:对WCF extensions的灵活应用依赖于你对channel layer和service mode dispatching system的深入理解。所以,如果你对channel layer不甚了解,可以参阅..