C# winform间参数传递

评论(1)浏览(118)分类:Asp.Net/C#/WCF
C# winform间参数传递  下面列出了7种C# winforom窗体间传值的方法第一种方法:  创建一个类,里面声明用于存储接收的字段。传的时候存储于字段中,要用的时候,直接类名.字段名 进行调用。(这种方法传递是双向的)第二种方法:1.在Form1里定义public string Name = *****;2. 在Form2里创建Form1对象,Form1 f = new Form1();然后就可以通过f.Name取值了第三种..

ASP.NET MVC AuthorizationFilter

评论(0)浏览(198)分类:Asp.Net/C#/WCF
ASP.NET MVC AuthorizationFilter  ASP.NET MVC的筛选器介绍了筛选器及其提供机制,我们按照执行的先后顺序对四种不同的筛选器进行单独介绍,首先来介绍最先执行的AuthorizationFilter。从命名来 看,AuthorizationFilter用于完成授权相关的工作,所以它应该在Action方法被调用之前执行才能起到授权的作用。不仅限于授权,如 果我们希望目标Action方法被调用之前中断执行的流程..

ASP.NET MVC同步与异步[下篇]

评论(0)浏览(113)分类:Asp.Net/C#/WCF
ASP.NET MVC同步与异步[下篇]  关于ASP.NET MVC对请求的处理方式(同步或者异步)涉及到的五个组件,在《ASP.NET MVC同步与异步[上篇]》 中我们谈了三个(MvcHandler、Controller和ActionInvoker),现在我们来谈余下的两个,即 ControllerDescriptor和ActionDescriptor,这五个组件的执行并非孤立的,而是具有议定的关系。相信读者认真阅读了这 两篇文章后,会对整个请求..

Enterprise Library Policy Injection Application Block如何控制CallHandler执行顺序

评论(0)浏览(108)分类:Asp.Net/C#/WCF
Enterprise Library Policy Injection Application Block如何控制CallHandler执行顺序一、为什么CallHandler需要进行排序  PIAB为我们提供了一个很好地实现AOP的方式。AOP旨在实现Business Logic和Non-Business Infrastructure Logic的分离。通过PIAB,我们将这些业务无关的逻辑定义在一个个的CallHandler中,然后通过Attribute或者Configuration的方式,将我们所需的CallHandler运用到相应的目标对象中。从这个意义上讲,PIAB具..

EnterLib PIAB深入剖析目录

评论(0)浏览(111)分类:Asp.Net/C#/WCF
EnterLib PIAB深入剖析目录  Policy Injection Application Block(PIAB)是Enterprise Library众多Application Block中的一个。在我看来,PIAB和后来的Unity Application Block的推出在Enterprise Library的发展历程中具有重要的意思,它标志着Enterprise Library向真正框架上面发展。不再是仅仅关注于某个具体功能实现(比如Logging、Caching、DA、Security等等)。PI..

Policy Injection Application Block自定CallHandler

评论(0)浏览(99)分类:Asp.Net/C#/WCF
Policy Injection Application Block自定CallHandler  Policy Injection Application Block简介对PIAB使用场景进行了简单的介绍,作中阐述了通过PI(Policy Injection)的方式实现了Business Logic和Non-Business Infrastructure Logic的分离,从而实现了AOP(Aspect Oriented Programming)。在Policy Injection Application Block 设计和实现原理中详细介绍PIAB的实现机制:通过自定义RealProx..

Policy Injection Application Block 设计和实现原理

评论(1)浏览(114)分类:Asp.Net/C#/WCF
Policy Injection Application Block 设计和实现原理  在Policy Injection Application Block简介中,对Enterprise Library中的PIAB (Policy Injection Application Block)作了简单的介绍。在这篇文章主要谈谈我个人对PIAB设计和实现原理的一些理解。一、MBR、ObjRef、RealProxy、TransparentProxy  在真正进入PIAB之前,我们现来谈论一些与之相关的、必要的背景知识。MBR、ObjRef、RealProx..

Policy Injection Application Block简介

评论(0)浏览(89)分类:Asp.Net/C#/WCF
Policy Injection Application Block简介一、Business Logic 和 Infrastructure Logic的分离  对于任何一个企业级应用的开发人员来说,他们编写的代码不仅仅是处理单纯的业务逻辑,同时还需要处理很多的非业务方面的逻辑,比如:Caching、Transaction Enlist、Authorization、Auditing、Exception Handling、Logging、Validation甚至是Performance Counter。我习惯把这些非业务逻辑成..

Enterprise Library-WCF与Exception Handling AppBlock集成[下]

评论(0)浏览(100)分类:Asp.Net/C#/WCF
Enterprise Library-WCF与Exception Handling AppBlock集成[下]  在Enterprise Library-WCF与Exception Handling AppBlock集成[上]中, 我详细介绍了如何通过自定义ClientMessageInspector和ErrorHandler,实现WCF与微软企业库中的Exception Handling Application Block(EHAB)之间的集成。这个方案的基本思路就是:当异常从服务端抛出,利用EHAB针对某个配置好的异常处理策略进行处理;然后将处理有的异 ..

Enterprise Library深入解析与灵活应用目录

评论(0)浏览(160)分类:Asp.Net/C#/WCF
Enterprise Library深入解析与灵活应用目录  Enterprise Library是微软PP部门开发的众多Open source框架中的一个,最新的版本已经出到了4.1。由于接触Enterprise Library已经有很长的一段时间,在实际的项目中使用的频率也很高。对此有了一些积累,希望通过这个新的系列和广大网友一起分享和交流。本系列假设读 者已经对Enterprise Library有一定的了解,故而不会对各个Application Blo..

Enterprise Library-WCF与Exception Handling AppBlock集成[上]

评论(0)浏览(87)分类:Asp.Net/C#/WCF
Enterprise Library-WCF与Exception Handling AppBlock集成[上]  在《WCF技术剖析目录》的最后一章,我给出了一个具体的应用WCF的分布式应用实例,我把这个实例命名为PetShop。在这个例子中,我利 用WCF的扩展实现了一些设计、架构模式,比如AOP、IoC等。看过本书的读者,一定还记得我还通过WCF扩展实现了于微软企业库 (Enterprise Library)异常处理应用块(Exception Handling Application Block:EHAB)..

Enterprise Library-PIAB与Unity集成

评论(0)浏览(78)分类:Asp.Net/C#/WCF
Enterprise Library-PIAB与Unity集成  在EnteLib中,PIAB(Policy Injection Application Block)和Unity的定位是轻量级的AOP框架和IoC容器(Container)。通过PIAB,我们可以将一些业务无关的 crosscutting concern定义于相应的CallHandler中,通过Attribute声明或者配置应用到承载业务逻辑的目标方法上。而通过Unity提供的 IoC容器(或者DI容器),即UnityContainer,很好地实现..

根据访问用户IP地址自动获取天气预报

评论(1)浏览(341)分类:Asp.Net/C#/WCF
根据访问用户IP地址自动获取天气预报根据访问用户IP地址自动获取天气预报,使用了纯真IP数据库,但是由于纯真IP数据库的信息不满足sina查询页面需要的信息,所以整理了下,里面的IP记录还剩下30w左右,原来的是36w的。=======内容更新===========已经添加php和asp版本.完整示例下载点击这里根据访问用户IP地址自动获取天气预报上面的代码是未使用ajax来获取,只含有一个ashx文件获取..

Enterprise Library-ELAB异常处理机制

评论(0)浏览(94)分类:Asp.Net/C#/WCF
Enterprise Library-ELAB异常处理机制一、背景与动机  微软Enterprise Library ELAB(Exception Handling Application Block)提供了一种基于策略(Policy)的异常处理方式,在不同的环境中,比如多层架构中不同的层次中,我们可以定义不同的异常处理策略。对于ELAB来说,Exception Handling Policy = Exception Type + Exception Handler(s) ,也就是说异常处理策略规定了对于某种..

Enterprise Library-配置方式和对象创建方式

评论(0)浏览(98)分类:Asp.Net/C#/WCF
Enterprise Library-配置方式和对象创建方式  最近负责一个框架性项目的升级,主要是从.NET Framework 3.0建议到.NET .NET Framework 3.5,开发工具也从VS2005迁移到VS2008。但是最让我头疼的是,原来Team Foundation Server 2005不能正常工作,公司暂时还没有购买VSTS 2008的打算。基于TFS 2005的Team Build功能不能使用了,导致原本通过Team Build实现的功能需要手工来做,涉及到的包括..

Enterprise Library-AOP框架

评论(0)浏览(272)分类:Asp.Net/C#/WCF
Enterprise Library-AOP框架  基于Enterprise Library PIAB的AOP框架已经在公司项目开发中得到广泛的使用,但是最近同事维护一个老的项目,使用到了Enterprise Library 2,所以PIAB是在Enterprise Library 3.0中推出的,所以不同直接使用。为了解决这个问题,我写了一个通过方法劫持(Method Interception)的原理,写了一个简易版的AOP框架。(如果对PIAB不是很了解的读..

Enterprise Library-通过SqlDependency实现Cache和Database的同步

评论(0)浏览(138)分类:Asp.Net/C#/WCF
Enterprise Library-通过SqlDependency实现Cache和Database的同步  对于一个真正的企业级的应用来说,Caching肯定是一个不得不考虑的因素,合理、有效地利用Caching对于 增强应用的Performance(减少对基于Persistent storage的IO操作)、Scalability(将数据进行缓存,减轻了对Database等资源的压力)和Availability(将数据进行 缓存,可以应对一定时间内的网络问题、Web Service不可访问问题、Database的崩..

Enterprise Library-将Unity、PIAB、Exception Handling引入MVP模式

评论(0)浏览(99)分类:Asp.Net/C#/WCF
Enterprise Library-将Unity、PIAB、Exception Handling引入MVP模式  最近在做一个Smart Client Software Factory的项目。熟悉SCSF或者CAB的都应该很清楚MVP这种设计模式。MVP是MVC的一种变体,View和Mode分别关注于UI的呈现和 业务模型,View和Mode完全分离,View通过Presenter实现对业务模型的访问,Presenter间接地调用View实现对UI的操 作。对于MVP中的异常处理,我们是直接通过Enterprise Library的Except..

Enterprise Library-通过Unity Extension实现和Policy Injection Application Block的集成

评论(0)浏览(147)分类:Asp.Net/C#/WCF
Enterprise Library-通过Unity Extension实现和Policy Injection Application Block的集成  Enterprise Library是微软PP部门开发的众多Open source框架中的一个,最新的版本已经出到了4.0。由于接触Enterprise Library已经有很长的一段时间,在实际的项目中使用的频率也很高。对此有了一些积累,希望通过这个新的系列和广大网友一起分享和交流。本系列假设读 者已经对Enterprise Library有一定的了解,故而不会对各个Application Blo..

WCF-Discovery利用发现代理实现实时维护可用服务

评论(0)浏览(164)分类:Asp.Net/C#/WCF
WCF-Discovery利用发现代理实现实时维护可用服务  上面的内容大部分是围绕着Ad-Hoc模式展开介绍的。Managed模式和Ad-Hoc不同之处在于可用服务的终结点通过发现代理来统一管理。客户端在进行可用目标服务探测和解析的时候不再需要发送广播请求,而是直接向发现代理进行探测和解析请求就可以了。[源代码从这里下载]一、发现代理与Managed发现模式  至 于发现服务如何进行可用服务的实时维护,..

WCF-Discovery AnnouncementEnpoint UdpAnnouncementEnpoint示例

评论(0)浏览(93)分类:Asp.Net/C#/WCF
WCF-Discovery AnnouncementEnpoint UdpAnnouncementEnpoint示例  在《WCF-Discovery AnnouncementEnpoint UdpAnnouncementEnpoint介绍》 我们对客户端如何监听通知,以及服务在上下线时如何发送通知从原理上进行了深入地剖析。我们现在通过一个简单的实例演示如何通过 ServiceDiscoveryBehavior服务行为为寄宿的服务添加一个实现上/下线通知的AnnouncementEndpoint终结点,以 及客户端如何通过对Announceme..

WCF-Discovery AnnouncementEnpoint UdpAnnouncementEnpoint介绍

评论(0)浏览(158)分类:Asp.Net/C#/WCF
WCF-Discovery AnnouncementEnpoint UdpAnnouncementEnpoint介绍  到目前为止,所介绍的都是基于客户端驱动的服务发现模式,也就是说客户端主动发出请 求以探测和解析可用的目标服务。在介绍WS-Discovery的时候,我们还谈到另外一种服务驱动的模式,即服务在上线和下线的时候主动对外发出 Hello/Bye通知。服务上下线通知机制依赖另外一个AnnouncementEndpoint标准终结点。一、AnnouncementEndpoint  在采用..

WCF-Discovery动态调用示例

评论(0)浏览(102)分类:Asp.Net/C#/WCF
WCF-Discovery动态调用示例  《WCF-Discovery如何发现服务》和《WCF-Discovery客户端如何探测可用服务》分别介绍了可被发现服务如何被发布,以及客户端如果探测可用的服务。接下来我们通过一个简单的例子来演示如果创建和发布一个可被发现的服务,客户端如 何在不知道服务终结点地址的情况下动态探测可用的服务并调用之。该实例的解决方案采用如右图所示的结构,即包含项..

WCF-Discovery客户端如何探测可用服务

评论(0)浏览(148)分类:Asp.Net/C#/WCF
WCF-Discovery客户端如何探测可用服务  当应用了ServiceDiscoveryBehavior行为的服务通过标准终结点DiscoveryEndpoint被发布出来之后(《WCF-Discovery如何发现服务》), 客户端就可以按照WS-Discovery中定义的方式对可用的目标方式进行探测和解析了。由于这个过程本质上就是一次普通的服务调用,具体来说是针对发 布发现服务(非目标服务)的标准终结点DiscoveryEndpoint的调用,..

WCF 4.0新特性目录

评论(0)浏览(91)分类:Asp.Net/C#/WCF
WCF 4.0新特性目录一、简化开发体验WCF 4.0新特性-默认终结点WCF 4.0新特性-默认绑定和行为配置WCF 4.0新特性-标准终结点与无(.SVC)文件服务激活二、路由服务WCF 4.0新特性-路由服务WCF 4.0新特性-路由服务示例三、服务发现WCF-Discovery协议基础WCF-Discovery如何发现服务客户端如何能够探测到可用的服务?实例演示:如何利用服务发现机制实现服务的动态调用?让服..

WCF-Discovery如何发现服务

评论(0)浏览(98)分类:Asp.Net/C#/WCF
WCF-Discovery如何发现服务  要让作为服务消费者的客户端能够动态地发现可用的服务,首先的要求服务本身具有可被发现的特性。那么到底一个可被发现的服务和一个一般的服务有何不同呢?或者说如何让一个一般的服务在寄宿的时候能够被它潜在的消费者探测到呢?  我们知道,WCF本质上就是消息交换的通信框架。不论是针对普通的服务操作的调用,还是定义在WS-Discovery中的..

WCF-Discovery协议基础

评论(0)浏览(114)分类:Asp.Net/C#/WCF
WCF-Discovery协议基础  传统的服务调用的模式都是这样的:客户端在设计时就预先知道目标服务的地址,并基于这个地址创建客户端终结点对服务进行调用。而我们即将介绍的新特性则是你在预先不知道目标服务的地址的情况下,可以动态地探测可用的服务并调用之。就像我们的无线网卡可以同态地获取周围可用的WIFI网络一样。  服务发现接触了客户端和服务端之间的依赖,..

WCF 4.0新特性-路由服务示例

评论(0)浏览(80)分类:Asp.Net/C#/WCF
WCF 4.0新特性-路由服务示例  创建连个简单的服务HelloServie和GoodbyeService。假设客户端 不能直接调用这两个服务,需要使用到路由服务作为两者之间的中介。整个消息路由的场景如下图所示,中间的GreetingService.svc就是代表 路由服务,而两个目标服务则通过HelloServie.svc和GoodbyeService.svc表示。路由服务使用的消息筛选器 EndpointAddressMessageFilter,即根据..

WCF 4.0新特性-路由服务

评论(0)浏览(118)分类:Asp.Net/C#/WCF
WCF 4.0新特性-路由服务  在一个典型的服务调用场景中,具有两个基本的角色,即服务的消费者和服务的提供者。从消 息交换的角度讲前者一般是消息的最初发送者,而后者则是消息的最终接收者。在很多情况下,由于网络环境的局限,消息的最初发送者和最终接收者不能直接进行 消息交换,这就需要一个辅助实现消息路由的中介服务,这就是我们接下来要介绍的路由服务。一、..

WCF 4.0新特性-默认绑定和行为配置

评论(0)浏览(75)分类:Asp.Net/C#/WCF
WCF 4.0新特性-默认绑定和行为配置  对于传统的WCF配置系统,无论是绑定的配置还是行为(服务行为和终结点行为)都必须具 有一个名称。而正是通过整个配置名称,它们才能被应用到目标对象(终结点或者服务)上。而在实际的项目开发中,绝大部分服务或者终结点都具有相同的绑定和 行为,如果能够定义一种默认的绑定和行为,这无疑会简化我们的配置。WCF4.0为此提供了一个新的特性..