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 

  • 相关阅读:
    控制台日志输入到文件指定文件中
    flutter环境搭建坑一
    hybridapp/webapp的前端UI框架推荐
    hybrid app、web app与native app工具
    浏览记录
    HTML5跨平台APP越来越火,工具也越来越多。我推荐一个开发平台(一款工具)----DCloud
    学个p-nan isnan . isna isnull
    学个p-np.triu(m, k),np.tirl()
    实验五 plsql基础
    实验四-数据插入、更新、删除
  • 原文地址:https://www.cnblogs.com/wucg/p/1775270.html
Copyright © 2011-2022 走看看