zoukankan      html  css  js  c++  java
  • Remoting 测试工程

    Server:

     //

    namespace RemotingServer
    {
        
    public class Class1: MarshalByRefObject
        {
            
    public double CalcSalesTax(double SalesPrice)
            {
                
    return SalesPrice * 0.01;
            }
        }
    }
    //服务器端控制台
    using System.Runtime.Remoting;
    using System.Runtime.Remoting.Channels;
    using RemotingServer;
    namespace TestConsoleApp
    {
        
    public class Startup
        {
            
    static void Main(string[] args)
            {            RemotingConfiguration.Configure(
    @"E:\_Projects\DotNet\TestConsoleApp\TestConsoleApp\RemotingConfig.cfg",true);
                Console.WriteLine(
    "输入任意键退出");            
                Console.ReadKey();
            }
        }
    }

    服务器端配置文件: RemotingConfig.cfg

     <?xml version="1.0" encoding="utf-8" ?>

    <configuration>
      
    <system.runtime.remoting>
        
    <application name="Server">
          
    <service>

            
    <!--
            <wellknown type="空间名.类名,程序集名" objectUri="空间名.类名"
                       mode="Singleton" />
            <wellknown ....=""    />
            
    -->
            
            
    <wellknown mode="SingleCall" objectUri="RemotingServer.Class1"
                       type
    ="RemotingServer.Class1,RemotingServer"/>
          
    </service>
          
    <channels>
            
    <channel ref="tcp" port="9999" >
              
              
    <clientProviders>
                
    <formatter ref="binary"/>
              
    </clientProviders>
              
    <serverProviders>
                
    <formatter ref="binary" typeFilterLevel="Full" />
              
    </serverProviders>
              
            
    </channel>
          
    </channels>
          
        
    </application>
      
    </system.runtime.remoting>
    </configuration>

     Client:

    using System.Runtime.Remoting;
    using System.Runtime.Remoting.Channels;

    namespace RemotingClient
    {
        
    public partial class Form1 : Form
        {
            
    public Form1()
            {
                InitializeComponent();
            }

            
    private void btnCalc_Click(object sender, EventArgs e)
            {
                RemotingServer.Class1 cls 
    = new RemotingServer.Class1();
                
    double dRes= cls.CalcSalesTax(double.Parse(this.textBox1.Text.Trim()));
                MessageBox.Show(dRes.ToString(
    "###,##0.00"));
            }

            
    private void Form1_Load(object sender, EventArgs e)
            {
                RemotingConfiguration.Configure(
    @"E:\_Projects\DotNet\TestConsoleApp\RemotingClient\ClientConfig.cfg"true);
            }
        }
    }

     Client配置文件:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      
    <system.runtime.remoting>
        
    <application name="Client">
          
    <channels>
            
    <channel ref="tcp">
              
    <clientProviders>
                
    <formatter ref="binary" />
              
    </clientProviders>
            
    </channel>
          
    </channels>
          
    <client>
            
    <!--
            <wellknown type="空间名.类名, 程序集名" url="tcp://ip:9999/空间名.类名" />
            <wellknown ....="" />
            
    -->
            
    <wellknown type="RemotingServer.Class1, RemotingServer" url="tcp://localhost:9999/RemotingServer.Class1" />
            
          
    </client>
        
    </application>
      
    </system.runtime.remoting>
    </configuration>


    项目文件: /Files/wucg/TestConsoleApp.rar 

  • 相关阅读:
    【JAVA Swing】自定义弹出的无边提醒框(可自动消失)
    java比较器Comparator的简单使用
    BoneCP的简单使用
    鸿蒙的js开发部模式18:鸿蒙的文件上传到python服务器端
    【知识点前情提要】鸿蒙小白入门指南!跟着张荣超老师学鸿蒙
    分布式流转开发常见报错FAQ
    Ability之间或者进程间数据传递之对象(Sequenceable序列化)
    【资源下载】安卓VS鸿蒙第三方件切换宝典 V1.0
    鸿蒙开源第三方组件 ——B站开源弹幕库引擎的迁移(上)
    鸿蒙的js开发部模式17:鸿蒙的系统能力的应用模块
  • 原文地址:https://www.cnblogs.com/wucg/p/1775270.html
Copyright © 2011-2022 走看看