在.net core中使用Thrift

  Thrift應用比較普遍,這裏不介紹Thrift的基本概念和使用。Thrift對.net支持的很好,但自從.net core誕生引來,我曾屢次關注Thrift的官方網站,看看對.net core是否提供支持。今天在看Thrift在Github上的代碼鏡像時,發現已經有netcore的實現了。地址:https://github.com/apache/thrift/tree/master/lib/netcore.可是看到介紹的第一段文字,難免以爲遺憾「Thrift client library ported to Microsoft .Net Core」,難道只支持Client?因而搜了不少資料,並無太多介紹,甚至Client的Demo也沒有。因而嘗試翻看代碼,彷佛有相關的Server實現,多是尚未正式發佈的緣故。git

  無論怎麼樣,動手試一下。github

一、準備工做

  下載Thrift的netcore部分的代碼,是一個.net core的項目,編譯經過。apache

  下載Thrift compiler for Windows代碼生成工具,thrift-0.11.0.exe,可到官網下載。服務器

  編寫thrift IDL文件:工具

namespace netcore ThriftCore

service Calculator{

  void ping(),

  i32 add(1:i32 num1, 2:i32 num2)

}

  在命令行中執行「thrift-0.11.0.exe --gen netcore tutorial.thrift」,會在目錄下生成「gen-netcore\ThriftCore\Calculator.cs」。這部分使用與之前一致,只是語言部分須要指定netcore,而不是csharp。完成後,將Calculator.cs加入到項目中,開始編寫服務器和客戶端。網站

二、服務器端實現:

三、客戶端實現:

  最後驗證結果:spa

四、結論

  Thrift可以實現.net core下的Server和Client。根據Github上的描述,.net core在部分功能上支持不全面,期待早日有穩定版的發佈。.net

相關文章
相關標籤/搜索