自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WCF實現SOA相關操作步驟詳解

開發(fā) 開發(fā)工具
WCF實現SOA的具體操作步驟將會在這篇文章中通過代碼的方式為大家詳細解讀。希望可以為又需要的朋友們帶來一些幫助。

我們知道,在WCF中,可以實現許多相應的功能,來幫助我們輕松的解決一些比較復雜的問題。在這里我們就一起來了解一下有關WCF實現SOA的相關方法,以方便我們在實際應用中來獲得些幫助。#t#

WCF實現SOA的一個關鍵問題是,如何將與技術無關的服務轉換為CLR。一旦提供了這種轉換,WCF的服務設計者與開發(fā)者就可以根據自己擁有的CLR的知識,進行WCF面向服務開發(fā)。為兩者搭建橋梁的是宿主。一個宿主可以包含多個上下文,而在上下文中則可以包含服務實例。特殊的,宿主的上下文也可以為空。

客戶端若要調用服務,可以采用代理或通道的方式。這兩種方式在很多資料上已經有了詳盡的介紹。在這里,我不準備重復。如果需要詳細了解甚至掌握著兩種方式,當然可以購買Programming WCF Services一書一探究竟。這里我想介紹的是本書中頻繁使用的一種簡化WCF類庫的一個示例,主要是引入泛型來簡化以及各種步驟地自動化處理。例如ServiceHost<T>類,就是通過引入泛型簡化了WCF實現SOA提供的ServiceHost類:

  1. public class ServiceHost<T> : ServiceHost {   
  2. public ServiceHost( ) : base(typeof(T)) {}   
  3. public ServiceHost(params string[] baseAddresses) : 
    base(typeof(T),Convert(baseAddresses)) {}   
  4. public ServiceHost(params Uri[] baseAddresses) : 
    base(typeof(T),baseAddresses) {}   
  5. static Uri[]   
  6. Convert(string[] baseAddresses) {   
  7. Converter<string,Uri> convert = delegate(string address) 
    { return new Uri(address); };   
  8. return Array.ConvertAll(baseAddresses,convert);   
  9. } } 

如果是使用ServiceHost類,則托管服務的代碼如下所示:

  1. public static void Main( ) {   
  2. Uri baseAddress = new Uri("http://localhost:8000/");   
  3. ServiceHost host = new ServiceHost(typeof(MyService),baseAddress);   
  4. host.Open( );   
  5. //Can do blocking calls: Application.Run(new MyForm( ));   
  6. host.Close( );   

使用ServiceHost類,則可修改為:

  1. public static void Main( ) {  
  2.  Uri baseAddress = new Uri("http://localhost:8000/");   
  3. ServiceHost<MyService> host = new ServiceHost<MyService>(baseAddress);   
  4. host.Open( );   
  5. //Can do blocking calls:   
  6. Application.Run(new MyForm( ));   
  7. host.Close( );   

在ServiceHost<T>類的實現中,使用了.NET 2.0中才引入的一個方法Array.ConvertAll(),它的方法簽名為:

  1. public static TOutput[]   
  2. ConvertAll<TInput,TOutput> ( TInput[] array, 
    Converter
    <TInput,TOutput> converter ) 

它能夠根據Converter對象將一種類型的數組轉換為另一種類型的數組。

以上就是對WCF實現SOA的相關步驟的介紹。

責任編輯:曹凱 來源: it168
相關推薦

2010-02-26 09:33:18

WCF創(chuàng)建WebSer

2010-03-01 09:19:10

WCF編碼規(guī)范

2010-02-26 16:20:56

WCF程序事務

2009-12-21 17:05:59

WCF自托管宿主

2010-02-25 13:54:48

WCF安全參數

2010-02-26 14:39:27

WCF服務寄宿

2010-02-26 16:10:50

WCF傳送二進制流數據

2009-12-22 10:05:54

WCF編程生命周期

2009-12-21 11:19:50

WCF配置文件

2010-02-26 16:05:14

寄宿WCF服務

2010-02-24 11:22:04

WCF方法重載

2010-02-24 09:38:58

WCF應用編碼

2010-01-05 18:09:07

.NET Framew

2010-02-26 09:50:57

WCF傳輸安全機制

2010-03-01 10:54:29

WCF雙工會話通道

2009-12-21 18:10:50

WCF實現事件通知

2010-02-24 10:41:28

WCF服務保護

2010-03-02 09:39:11

保護WCF服務

2010-02-24 13:06:27

WCF使用Nhiber

2010-02-23 14:48:38

WCF事件通知
點贊
收藏

51CTO技術棧公眾號