Thrift c#

xuxubaby發表於2014-04-20

最近剛接觸了 Thrift , 發現它非常的好用,可惜的是網上這方面的相關資料太少了,只能通過別人貢獻的程式碼來一點一點了解;

Thrift 介紹參考:

http://gemantic.iteye.com/blog/1199214

http://www.javabloger.com/article/thrift-java-code-example.html

http://www.cnblogs.com/liping13599168/archive/2011/09/15/2176836.html

上面都有相關的使用Demo,現在也把握自己的使用過程寫一下:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第一步:下載 Thrift:

                http://thrift.apache.org/

                我使用的是 thrift-0.9.1.tar.gz  ,下載地址是:http://apache.dataguru.cn/thrift/0.9.1/thrift-0.9.1.tar.gz

                下載下來得到 thrift-0.9.1.tar.gz

                是一個壓縮檔案,在windows下解壓該工具可以使用該工具:http://download.csdn.net/detail/y_h_t/7218247

                解壓完成後,顯示得到 thrift-0.9.1.tar ,進一步解壓,然後得到 thrift-0.9.1 目錄

                開啟該目錄,進入 lib 目錄下,裡面就是各種語言對應的使用元件

                我這裡是用的c#,所以對應的目錄是 \thrift-0.9.1\lib\csharp\src 

                開啟該解決方案,編譯,生成的 Thrift.dll ,這個便是我們要用到的 Thrift 在 c# 下的元件

第二步:建立 Thrift 指令碼

                PS:Thrift 指令碼里面編寫的程式碼是用來幫助我們生成 Thrift 在通訊中所支援的介面型別及通訊方法的,服務端和客戶端通過對生成類檔案的引用,雙方即可實現對指定資料型別的可靠傳輸。

         

namespace java com.javabloger.gen.code   #  註釋1

struct Test {   #  註釋2 
    1: string id
    2: string name
    3: i64    createdTime 
  }

service ThriftCase {
    i32 TestCase1(1:i32 num1, 2:i32 num2)
    list<Test> GetList()
}

                 將上面的指令碼拷貝到記事本,然後將記事本命名為 Test01.thrift


第三步:編譯 Thrift  指令碼,生成對應的類檔案

                Windows 下,下載 http://www.apache.org/dyn/closer.cgi?path=/thrift/0.7.0/thrift-0.7.0.exe

                然後命令列執行:thrift-0.7.0.exe -gen csharp Test01.thrift

                PS:  thrift-0.7.0.exe 為上面我們下載的windows下 Thrift 的編譯檔案, csharp 為編譯後生成 c# 的類, Test01.thrift 為上面我們自己建立的指令碼檔案

                執行完上面的命令後,會在當前目錄下生成 gen-csharp 這樣的一個目錄,裡面包含兩個檔案:Test.cs 、 ThriftCase.cs


到此基礎工作已經做好,下一步做一個Demo

相關文章