當一個單體軟件產品體量達到必定程序,都會想到拆分爲不一樣的模塊(當今這麼流行微服務)。拆分後必定會存在進程之間的交互(簡稱:PRC),那麼thrift就是facebook推出一款開源的rpc框架,且還跨語言。此文章就是來打開thrift的打開(固然此次仍是基於.net)。 示例代碼下載:https://gitee.com/samtest-project/thrift-test.gitgit
下載地址:http://archive.apache.org/dist/thrift(能夠選擇可以使用的版本),其中須要下載以下兩個文件包:apache
此點要注意,他分爲.net35和.net45兩個版本,能夠根據須要進行相應的生成c#
struct User{ 1:i32 id 2:string name } service UserService{ User GetUserById(1:i32 userId) list<User> GetAll() void add(1:User user) }
生成成功後,會有一個gen-csharp文件夾windows
gen-csharp文件夾中包含的就是咱們須要的c#代碼。框架
項目結構以下微服務
其引用關係爲以下:工具
public class UserServiceImp : UserService.Iface { private IList<User> users; public UserServiceImp() { this.users = new List<User>(); } public void add(User user) { Console.WriteLine(user.Name); this.users.Add(user); } public List<User> GetAll() { return this.users.ToList(); } public User GetUserById(int userId) { return this.users.Where(m => m.Id == userId).FirstOrDefault(); } }