wcf技术分享,wcf开发实例demo,wcf开发代码下载
Pages: 1/1 First page 1 Final page [ View by Articles | List ]
Mar 17
在服务“BookService”实现的协定列表中找不到协定名称“IService”
Highslide JS
修改Web.config和App.config中的wsHttpBinding和basicHttpBinding的contract为Services.IBookService。
May 3
wcf是一种技术架构,像asp.net mvc一样,有固定的规则
他是soa面向服务编程的一种实现,和微软的webservice一样提高数据的交互,不过要高级很多,整合了很多msmq等等技术
用4+4+4+ABC来粗略记忆下几个比较重要的地方
一个普通的wcf解决方案有4个项目
契约contract,可以定义一些接口什么的
服务service,实现了契约的接口方法
宿主hosting,实现了服务的进程寄存,这样就可以让客户端来消费(即使用),利用配置文件可以更靠谱
客户端client,引用服务并使用


4种契约contract
服务契约;
数据契约;
消息契约;
错误契约
具体可以瞧瞧这篇文章:http://www.cnblogs.com/qiuwuyu/archive/2011/04/08/2008932.html


4种宿主hosting
自托管宿主;
Windows Services宿主;
IIS宿主;
WAS宿主
具体可以瞧瞧这篇文章:http://developer.51cto.com/art/201002/184555.htm


WCF是一个基于消息的通信框架,采用基于终结点(Endpoint)的通信手段。终结点(Endpoint)三要素ABC
Address地址
binding绑定
contract契约

最后可以去看看博客园里 蒋金南 和张逸的博客,之前收集的一些资料http://tommyhu.cn/wcf-xue-xi-zi-liao/
May 3

 wcf技术框架是基于soa思想的具体实现,也谈soa和wcf

现在讲WCF的书和网上资料有很多,但大部分都是教我们如何使用WCF来创建面向服务的程序。实际上,WCF的编程模型是相当简单的,基本上上手非常的简单。WCF作为一种框架,简单易用的编程方式是一把双刃剑,一方面它让新手非常容易上手,但另一方面,过于简单的模型使得它的使用者不明白其中的细节,因此要用好它并不容易,比如很多时候我们写的WCF程序看起来服务,配置等等各方面都没有什么问题,却莫名其妙的不工作,往往要花很长时间去调试。如何创建高性能的WCF程序,如何快速有效的对WCF程序出现的各种,要求我们对WCF本身甚至SOA有着深入的理解,对WCF内部的工作原理有着一定的了解。这个系列,作者将对自己近段时间对WCF的学习做一个总结,与大家共享。

 SOA的发展历程

WCF框架实际上可以看作是微软对SOA架构的一种实现,或者说WCF的存在让开发者更容易创建面向服务的程序。面向服务本身不是一种技术,而是设计和实现软件的一种架构方式。如果我们回顾软件编程的发展历史,不难发现SOA的提出和发展是一种必然。

 

自从第一个计算机程序诞生一来,软件编程的发展趋势,尤其是系统软件的发展趋势就是不断地解耦合,与硬件解耦合,比如高级编程语言的诞生使得大部分开发人员不需要关心CPU寄存器的分配,与平台解耦合,比如虚拟机的发明使得开发人员不需要关心系统调用,软件内部之间的解耦合,比如各种编程思想的发展。松耦合代表的是灵活性,可集成性,可扩展性和互操作性。当然,不是所有的程序都适合松散耦合的设计,比如在一些嵌入式设备上的开发,也不是说每个系统都要按照最高的松耦合标准来设计。但只要条件允许,我们就应该尽可能的进行松散耦合的设计。而计算机硬件性能的不断发展,也使得软件设计想着松散耦合的方向不断迈进,我们可能想象在早期的286机器上先运行虚拟机,然后再用虚拟机来运行软件的性能。迄今为止,SOA所倡导的理念使得我们可以设计出最为灵活和优雅的系统架构。现在我们就来回顾一下编程理念的发展历史,编程理念和计算机编程语言或者具体技术是两个概念,比如我们完全可以在面向过程语言上实践面向对象思想,但是语言的特性使得我们可以更好更方便的实践某一编程思想,所以C++我们将它称之为面向对象语言,因为使用它我们能方便地实践面向对象思想。这也是WCFSOA的关系,使用WCF,我们可以方便地实践SOA的理念。

 

May 3

wcf消息 不指定

tommyhu , 21:43 , ASP.NET » wcf , Comments(1) , Trackbacks(0) , Reads(3831) , Via Original

 wcf是基于消息通信的,作为一个基本的通信单元,消息到底是什么东东,一起来看这篇文章!

理解消息
  在面向服务的应用中,消息是通信的基本单位。因此,面向服务的应用通常被称为消息应用系统。在某一时刻,每个面向服务的应用系统都会发送或者接受消息。这个能够帮助你理解面向服务的消息很像你在Email系统里收到的信件一样。在邮件系统里,一个信件是抽象的实体:它可以包涵任何类型的信息,可以以不同的形式和大小存在,可以关联任何东西。同样,一个面向服务的消息也是一个抽象实体:它几乎可以包涵任何数据,可以使用许多不同的方式编码,并且可以关联到虚拟东西,甚至是其它消息。邮件的一些属性已经被广泛接受。例如,一封信件可以被某个人发送,邮寄给某个人,并且可能被某个人投递(某一时刻更多的是“可能”)。同样,一个面向服务的消息可以被计算机发送,发送给另一个计算机,并且可能由另外的计算机来投递。考虑某些喜欢死扣理论的书呆子,我必须澄清,与面向服务消息交互的实体不一定必须是计算机。理论上说,它们可以是信鸽,拉布拉多猎犬或者是狮虎。无论如何,这些与面向服务消息交互的实体被称作消息的参与者,并且在这本书里,一个消息参与者可以是一个计算机上的进程。
 
消息参与者
  让我们想象一下,我需要写一封感谢信给我朋友Rusty,因为他上周给了我一张足球比赛的门票。我们假定需要把信件邮寄到Rusty的办公室。现实生活中,发送Email给Rusty或许是更加方便和省钱的方式。那可能是更加复杂的例子,有时候写信会更加合适。那么邮寄一份信件我需要经过多少种步骤呢?大家知道,正常情况下我需要先写一封感谢信在我邮寄以前。当我写信的时候,我需要提到足球比赛的事情,因为无缘无故地给一个人写感谢信会非常奇怪。接下来我会把信放到信封里,然后写上收信人地址然后贴上邮票。最后一步就是把信投到信箱里,让邮政服务机构来把信件转交给Rusty。可以想象Rusty将会知道感谢信是我写的,而且知道我是为了足球票的事情感谢他。
  当我们描述消息参与者的时候,把他们对应到消息发送过程的角色是非常有用的。通常来说,有三种类型的消息参与者:初始发送者、最终接受者和中介者。

Tags: ,
May 2

前言:

上一篇(http://tommyhu.cn/wcf-xue-xi-zi-liao/)收集了一些wcf的资料,不知道大家有没有看,这篇主要是讲“4种wcf宿主使用实例代码”

WCF的服务不能孤立地存在,需要寄宿于一个运行着的进程中,我们把承载WCF服务的进程称为宿主,为服务指定宿主的过程称为服务寄宿(Service Hosting)。
以下文章引自(
张逸:晴窗笔记或者http://www.agiledon.com/?page_id=316)感谢原作者的辛勤劳动!
若要公开WCF服务,需要提供一个运行服务的宿主环境。就像.NET CLR需要创建宿主环境以托管代码一般,WCF的宿主环境同样运行在进程的应用程序域中。在应用程序域中可以创建一个或多个ServiceHost实例,其关系如图一所示:
Host_ServiceHost.gif
图一  托管ServiceHost

WCF并不推荐在应用程序域中创建多个ServiceHost实例。如果要托管多个服务,完全可以在一个宿主中通过多个Endpoint公开多个WCF服务。由于应用程序域对安全进行了隔离,如果需要提供不同的安全上下文,则有必要创建多个ServiceHost实例。

WCF的典型宿主包括以下四种:
1、"Self-Hosting" in a Managed Application(自托管宿主)
2、Managed Windows Services(Windows Services宿主)
3、Internet Information Services(IIS宿主)
4、Windows Process Activation Service(WAS宿主)


以下将通过一个具体的实例分别介绍这几种宿主的托管方式及其相关的注意事项。在这样的一个实例中,我们定义了如下的服务契约:
namespace BruceZhang.WCF.DocumentsExplorerServiceContract
{
    [ServiceContract]
    public interface IDocumentsExplorerService
    {
        [OperationContract]
        [FaultContract(typeof(DirectoryNotFoundException))]
        DocumentList FetchDocuments(string homeDir);
        
        [OperationContract]
        Stream TransferDocument(Document document);        
    }    
}

服务的实现则如下所示:
namespace BruceZhang.WCF.DocumentsExplorerServiceImplementation
{
    [ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
    public class DocumentsExplorerService : IDocumentsExplorerService
    {
        #region IDocumentsExplorerService Members

        public DocumentList FetchDocuments(string homeDir)
        {
            //implementation code
        }        

        public Stream TransferDocument(Document document)
        {
            //implementation code
        }

        #endregion    
    }
}
在服务契约的操作中,DocumentList与Document则为自己定义的数据契约:
namespace BruceZhang.WCF.DocumentsExplorerDataContract
{  
    [DataContract]
    public class Document
    {
        //DataMembers
    }
}
namespace BruceZhang.WCF.DocumentsExplorerDataContract
{
    [KnownType(typeof(Document))]    
    [CollectionDataContract]
    public class DocumentList:IList<Document>
    {
        //IList<Document> Methods
    }
}
注意以上定义的服务契约、服务类与数据契约的命名空间。
Apr 24
Highslide JS
MSDN上关于WCF给出如下注解:
设计 Windows Communication Foundation (WCF) 的目的是为分布式计算提供可管理的方法,提供广泛的互操作性,并为服务定位提供直接的支持。
说的很清楚,同一管理分布式通信,广泛的互操作,服务定位。这是WCF出现的目的。 说到底,微软还是想简化开发方法,(MSMQ)、COM+、ASP.NET Web 服务这些散沙将会在齐聚WCF旗下,成为微软的又一片统一天地。
Jul 29
ASP.NET WCF(Windows Communication Foundation )概述及实例
Windows Communication Foundation is...a part of the .NET Framework that provides a unified programming model for rapidly building service-oriented applications that communicate across the web and the enterprise.
more:http://msdn.microsoft.com/en-us/netframework/aa663324
Windows Communication Foundation (WCF) allows extensive control over the messaging functions of an application. The topics in this section go into detail about the available features. For more information about basic programming, see Basic WCF Programming.
more:http://msdn.microsoft.com/en-us/library/bb412169.aspx


Download ( 356 downloads)

  Windows Communication Foundation (WCF) 是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由 .NET Framework 3.0 开始引入,与 Windows Presentation Foundation 及 Windows Workflow Foundation 并行为新一代 Windows 操作系统以及 WinFX 的三个重大应用程序开发类库。在 .NET Framework 2.0 以及前版本中,微软发展了 Web Service (SOAP with HTTP communication),.NET Remoting (TCP/HTTP/Pipeline communication) 以及基础的 Winsock 等通信支持,由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性(例如 .NET Remoting 可以开发 SOAP, HTTP 通信),对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须要重新学习,让开发人员在使用中有许多不便。同时,面向服务架构 (Service-Oriented Architecture) 也开始盛行于软件工业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是 Windows Communication Foundation。
更多讯息访问百度百科:http://baike.baidu.com/view/1140438.htm
Pages: 1/1 First page 1 Final page [ View by Articles | List ]