码迷,mamicode.com
首页 > Web开发 > 详细

.Net 之 RPC 框架之Hprose(远程调用对象)

时间:2019-03-04 17:33:30      阅读:462      评论:0      收藏:0      [点我收藏+]

标签:inter   nuget   start   top   ssd   使用   server   http   net   

实现远程调用对象,跨进程访问对象,可实现分布式

首先给服务端和客户端 nuget Hprose

可使用tcp和http两种调用方式

服务端

using Hprose.Server;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace rpc
{
    class TestService
    {
        public string Hello(string name)
        {
            return "Hello " + name + "!";
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            // HproseHttpListenerServer server = new HproseHttpListenerServer("http://localhost:2012/");
            Hprose.Server.HproseTcpListenerServer server = new HproseTcpListenerServer("tcp://localhost:2012");
            TestService ts = new TestService();
            server.Add("Hello", ts);
            // server.IsCrossDomainEnabled = true;
            //server.CrossDomainXmlFile = "crossdomain.xml";
            server.Start();
            Console.WriteLine("Server started.");
            Console.ReadLine();
            Console.WriteLine("Server stopped.");
        }
    }
}

  客户端

using Hprose.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace client
{
    public interface ITestService
    {
        string Hello(string name);
    }
    class Program
    {
        static void Main(string[] args)
        {
            //HproseHttpClient client = new HproseHttpClient(" http://localhost:2012/");
            HproseTcpClient client = new HproseTcpClient("tcp://localhost:2012/");
            //client.KeepAlive = true;
            Console.WriteLine(client.Invoke("Hello", new Object[] { "bbbb" }));
            Console.WriteLine(client.Invoke("hello", new Object[] { "cccc" }));
            //接口方式调用
            ITestService testService = client.UseService<ITestService>();
            Console.WriteLine(testService.Hello("这是接口方式调用"));
            //
            Console.ReadLine();
        }
    }
}

  

.Net 之 RPC 框架之Hprose(远程调用对象)

标签:inter   nuget   start   top   ssd   使用   server   http   net   

原文地址:https://www.cnblogs.com/wlzhang/p/10471650.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!