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 

  • 相关阅读:
    【SQLite操作】SQLite下载使用教程
    【VS】编译/生成解决方案时错误 未能写入输出文件“...objDebugxxx.exe”--“另一个程序正在使用此文件,进程无法访问
    Webstorm 快速补全
    JS 之循环 应用案例1
    elementUI的el-input和el-select宽度 一致
    SpringMVC 参数中接收之一 List
    VUE 之_this.da 和 this
    CSS 格式 设置标签间距 和 input slot
    Spring最简单构建一个后台{msg:"登录成功",code:200,data:null}
    VUE SpringCloud 跨域资源共享 CORS 详解
  • 原文地址:https://www.cnblogs.com/wucg/p/1775270.html
Copyright © 2011-2022 走看看