• 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 

  • 相关阅读:
    Vertica 业务用户指定资源池加载数据
    Vertica 数据库知识汇总篇
    Oracle OCP 1Z0-053 Exam Topics
    Oracle 11gR2 RAC修改监听默认端口
    Oracle 11.2.0.4 RAC安装最新PSU补丁
    Openfiler配置RAC共享存储
    ORACLE 11gR2 DG(Physical Standby)日常维护01
    oracle 存储过程 返回结果集
    exception javax.crypto.BadPaddingException: Given final block not properly padded
    plsql 连接oracle数据库的2种方式
  • 原文地址:https://www.cnblogs.com/wucg/p/1775270.html
Copyright © 2020-2023  润新知