Thrift总结(二)创建RPC服务

发布时间:2017-7-9 7:22:56编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Thrift总结(二)创建RPC服务 ",主要涉及到Thrift总结(二)创建RPC服务 方面的内容,对于Thrift总结(二)创建RPC服务 感兴趣的同学可以参考一下。

  前面介绍了thrift 基础的东西,怎么写thrift 语法规范编写脚本,如何生成相关的语言的接口。不清楚的可以看这个《Thrift总结(一)介绍》。做好之前的准备工作以后,下面就开始如何用Thrift写RPC接口。

  如何用Thrift写RPC接口

  1. 打开之前下载的thrift 源码,thrift-0.10.0\lib\csharp\src ,编译生成Thrift.dll 文件。

  

  2. 新建一个空白解决方案命名为HelloThrift。在解决方案根目录下创建一个lib文件夹,将刚刚生成的Thrift.dll文件放入lib文件夹中。在解决方案分中建立两个控制台程序和一个类库,控制台程序分别命名为HelloThrift.Client 和 HelloThrift.Server,类库命名为Thrift.Interface。Client、Server和Interface分别引用lib文件夹中的Thrift.dll文件,将准备工作中生成的HelloService文件导入到Interface类库中。Client和Server分别引用Interface。具体结果如下图所示

  

  3. 创建完相关的项目和引用之后,在服务端HelloThrift.Server 创建一个类命名为MyHelloService,实现HelloService.Iface接口,代码如下:

  清单1.MyHelloService

using System;using HelloThrift.Interface;namespace HelloThrift.Server{    public class MyHelloService : HelloService.Iface    {        /// <summary>        /// 只有一个参数返回值为字符串类型的方法        /// </summary>        /// <param name="para">string类型参数</param>        /// <returns>返回值为string类型</returns>        public string HelloString(string para)        {            System.Threading.Thread.Sleep(1 * 1000);            Console.WriteLine("客户端调用了HelloString方法");            return para;        }        /// <summary>        /// 只有一个参数,返回值为int类型的方法        /// </summary>        /// <param name="para"></param>        /// <returns>返回值为int类型</returns>        public int HelloInt(int para)        {            System.Threading.Thread.Sleep(1 * 1000);            Console.WriteLine("客户端调用了HelloInt方法");            return para;        }        /// <summary>        /// 只有一个bool类型参数,返回值为bool类型的方法        /// </summary>        /// <param name="para"></param>        /// <returns>返回值为bool类型</returns>        public bool HelloBoolean(bool para)        {            System.Threading.Thread.Sleep(1 * 1000);            Console.WriteLine("客户端调用了HelloBoolean方法");            return para;        }        /// <summary>        /// 返回执行为空的方法        /// </summary>        public void HelloVoid()        {            System.Threading.Thread.Sleep(1 * 1000);            Console.WriteLine("客户端调用了HelloVoid方法");            Console.WriteLine("HelloWorld");        }        /// <summary>        /// 无参数,返回值为null的方法        /// </summary>        /// <returns>返回值为null</returns>        public string HelloNull()        {            System.Threading.Thread.Sleep(1 * 1000);            Console.WriteLine("客户端调用了HelloNull方法");


上一篇:分享之测试WebService小工具 STORM(转)
下一篇:HDU 3579 Hello Kiki 中国剩余定理(合并方程

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款