C# Remoting的一个简单例子

C#Remoting超简单实例 一个非常简单的Remoting实例,适合Remoting入门学习, 立即下载
 

.Net对于远程调用提供了两种方法:Remoting和WebService。
WebService现在是如火如荼,特别是有一种比较流行的架构:Winform+WebService(Java、.Net),
我曾经做过的一个项目就是这样子的,分布式、跨平台、极佳的用户体验,这三者结合起来是不是很诱人?
不过,这里我只说Remoting,Remoting具有以下特点:
1、Tcp通道的Remoting速度非常快
2、虽然是远程的,但是非常接近于本地调用对象
3、可以做到保持对象的状态
4、没有应用程序限制,可以是控制台,winform,iis,windows服务承载远程对象
缺点:
1、不是标准的应用,因此有平台限制
2、脱离iis的话需要有自己的安全机制
可以看出来,比起WebService,Remoting更适合于中小型局域网应用,而不适用于企业级的应用。
下面给出一个极其简单的Sample:
Remoting用的对象:

 1namespace  RemoteSample
 2
{
 3    public class
 RemoteObject : System.MarshalByRefObject
 4    
{
 5        public
 RemoteObject()
 6        
{
 7            System.Console.WriteLine("New Referance Added!"
);
 8        }

 9
10        public int sum(int a, int
 b)
11        
{
12            return a +
 b;
13        }

14    }

15}
将其编译为一个lib文件:csc /t:library RemoteObject.cs

Server端:
 1 using  System;
 2 using  System.Runtime;
 3 using  System.Runtime.Remoting;
 4 using  System.Runtime.Remoting.Channels;
 5 using  System.Runtime.Remoting.Channels.Tcp;
 6 using  RemoteSample;
 7
 8 namespace  RemoteSampleServer
 9 {
10    public class RemoteServer
11    {
12        public static void Main(String[] args)
13        {
14             TcpServerChannel channel = new TcpServerChannel(6666);
15             ChannelServices.RegisterChannel(channel);
16             RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemoteObject),
17                 "RemoteObject", WellKnownObjectMode.SingleCall);
18             System.Console.WriteLine("Press Any Key");
19             System.Console.ReadLine();
20         }

21    }

22}
将其编译为一个exe文件: csc /r:System.Runtime.Remoting.dll /r:RemoteObject.dll RemoteServer.cs

Client端:
 1 using  System;
 2 using  System.Runtime.Remoting;
 3 using  System.Runtime.Remoting.Channels;
 4 using  System.Runtime.Remoting.Channels.Tcp;
 5 using  RemoteSample;
 6
 7 namespace  RemoteSampleClient
 8 {
 9    public class RemoteClient
10    {
11        public static void Main(string[] args)
12        {
13            ChannelServices.RegisterChannel(new TcpClientChannel());
14            RemoteObject remoteobj = (RemoteObject)Activator.GetObject(typeof(RemoteObject),
15            "tcp://localhost:6666/RemoteObject");
16            Console.WriteLine("1 + 2 = " + remoteobj.sum(1,2).ToString());
17            Console.ReadLine();
18        }

19    }

20}

同样的,将其编译为exe文件:csc /r:System.Runtime.Remoting.dll /r:RemoteObject.dll RemoteClient.cs

好了,一次运行生成的RemoteServer.exe和RemoteClient.exe,你就会发现原来Remoting是这样简单。

 

 

        出自  http://www.cnblogs.com/game-over/archive/2007/10/08/917470.html

c# 实现远程调用(rpc) remoting c#自带remote,入门级demo,看看即可。。。个人看法:分布式中,用rpc真不如异步消息队列。。。 立即下载

相关推荐

C#远程调用简单示例

程序写了客户端激活模式,服务端激活模式,通过程序能够清楚的弄清各种模式的调用方法。有助于对远程调用的理解

C# Remoting的基础介绍

一、Remoting基础什么是Remoting,简而言之,我们可以将其看作是一种处理方式。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft®.NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。

i78i845的博客 1722

Halcon窗体开发避坑指南:C#自定义控件实现7大图像交互功能

本文详细介绍了如何利用C#封装自定义Halcon控件,以解决原生HWindowControl功能不足的问题。通过实战代码,展示了如何实现图像按比例显示、鼠标拖动缩放、灰度值读取、图像保存、截图及图形叠加等七大核心交互功能,并重点剖析了内存管理、坐标转换等开发避坑要点,帮助开发者构建稳定可复用的机器视觉组件库。

weixin_29251131的博客 292

C# Remoting 简单实现

今天对C# Remoting进行了初步的学习,废话不说... RemotingModel: Talker.cs using System; using System.Collections.Generic; using System.Text; namespace RemotingModel {     ///     ///     ///    publ

u011555996的博客 7289

认知网络分析实战:用Python复现课堂对话研究(含LSA代码)

本文通过Python实战,详细演示了如何运用认知网络分析(ENA)和滞后序列分析(LSA)两种方法,对课堂对话数据进行深度挖掘。文章提供了从数据清洗、行为编码到网络构建、序列统计及可视化的完整代码流程,帮助教育研究者和数据分析师量化分析对话中的认知结构与动态互动模式,从而获得超越文本表面的研究洞见。

weixin_28559803的博客 155

银河麒麟服务器操作系统V10SP3 U盘安装中“基础软件仓库错误”的排查与修复指南

本文针对在无网络环境下使用U盘安装银河麒麟服务器操作系统V10SP3时,遇到的“基础软件仓库错误”问题,提供了详细的排查与修复指南。核心解决方案是通过进入救援模式,使用lsblk命令确定U盘实际设备路径,并在系统引导时手动添加inst.repo内核参数来指定安装源,从而绕过安装程序的自动探测故障,确保安装流程顺利进行。

ik67890123的博客 1194

关于C#中Remoting的使用

C#中Remoting的使用我使用Remoting的时候是使用配置文件的所以我这边就说下如何配置一个Remoting项目 我使用Remoting的时候是使用配置文件的所以我这边就说下如何配置一个Remoting项目 1.服务端配置 1).IIS发布 在D盘下新建一个文件夹Retire ,下面新建一个bin文件夹和web.comfig的配置文件,因为我是纯配置文件配置的所以注册消息通道比较方便,只...

q519306079的博客 1112

[TC3XX]AURIX TC3XX系列之启动流程

本文介绍了微控制器(MCU)启动过程中固件(Firmware)和启动软件(SSW)的工作原理。MCU上电复位后,硬件完成初始化,BootROM中的固件开始执行,进行参数加载、模式选择等操作。SSW作为第一个执行的软件,负责时钟配置、安全检查、多核管理及启动模式选择,最终跳转至用户代码。启动模式包括内部Flash启动、Bootloader模式(通过ASC或CAN接口)和备用启动模式(ABM),具体由复位类型、引脚配置和UCB设置决定。文章特别指出英飞凌TC3xx系列芯片中固件不可修改,只能通过配置参数定制启动

redparrot2008的博客 1420

c# Remoting通信的步骤和问题

remoting的概念:(1)在服务端建立一个类A,并var a = new A()实例化运行,客户端可以通话remoting获取到这个对象a的引用,然后在本地使用a,就好像于a运行在客户端,其实是运行在服务端的,调用a内的方法,返回的也是服务器对象a内的运行结果。也就是可以远程获取或者改变服务器内的变量。 (2)可以通过在服务端定义事件,在客户端订阅实现(event+=)的方式实现服务器在需要客...

qq_35226440的博客 799

想学嵌入式但没开发板?试试这个免费的STM32虚拟仿真平台(含LVGL界面教程)

本文介绍如何利用免费的STM32虚拟仿真平台学习嵌入式开发,特别适合预算有限或零硬件基础的学习者。通过详细的LVGL界面开发教程,展示虚拟仿真在嵌入式学习中的高效性和实用性,涵盖环境搭建、代码实现到实机迁移的全流程,助力快速掌握嵌入式开发核心技能。

weixin_29266647的博客 306

[软考]系统架构设计师 备考经验分享(一) - 备考计划篇

前言 上周末刚刚结束了软考架构师的考试,自我感觉考的还可以,大概率是过了。 两次参加软考,一次中级嵌入式,一次高级架构师,都是备考不到两个月时间,尤其是架构师这次考试内容和本职工作有不小的差别,并且需要同时备考三个科目,在高强度地备考中感觉是摸索出到了一点软考的技巧与经验。 打算趁还记得,赶紧写几篇文章做下梳理总结,算是给将来自己考系分、高项或者其他考试做个记录,也希望能够帮到正在备考的大家。 先把第一步,个人的备考计划分享给大家。 自身情况分析 首先,请大家一定先明确三个问题,这三个问题会直接影响到你的

_ 6404

C# Remoting(RPC调用)

REMOTING是.NET自带的一种RPC调用方式。主要解决多个进程间互相的调用。 举例1:如现某一台电脑存在2个进程,进程1上存在一个按钮,点击按钮时会使进程2触发某个方法进行逻辑运算,那么我们存在的问题点在于如何让进程1联通进程2,同时让进程2自己去触发自己的某个方法。 举例2:如某一台电脑存在2个进程,2个进程现在都有可能修改某一个LIST,可以同时向这一个LIST中添加值或...

·穆·的博客 3173

生成mm grounding dino的onnx模型并在x-anylabeling中使用

X-AnyLabeling 是一款cvhub开发的交互式自动标注工具,其基于AnyLabeling进行构建和二次开发,在此基础上扩展并支持了许多的模型和功能,并借助Segment Anything和YOLO等主流模型提供强大的 AI 支持。其最新版基于grounding dino可以实现开放词汇检测及生成掩码。2024年,MMDet 3.3.0提出了 MM-Grounding-DINO。

blanokvaffy的博客 1729

C# Remoting例子

今天看了一篇C# Remoting的一个简单例子,博主简单的介绍了remoting,目前所开发的系统也用到了remoting,特意重温了下系统,发觉其实也就那么回事情,服务器端定义远程对象,配置配置文件,客户端调用远程对象,其实也没有那么高大上(可能本人还未理解其中精髓)。 先展示代码,再说明这其中的机制(以C# Remoting的一个简单例子为基础) 1 创建RemoteS...

anbianxue4166的博客 199

YOLOv11改进 | 引入DEConv细节增强卷积模块:恢复细节信息,提升小目标检测精度

摘要: YOLOv11在目标检测中面临小目标检测精度不足的问题,主要由于细节信息丢失。本文提出引入DEConv(细节增强卷积)模块,通过多分支卷积和残差连接恢复高频细节,提升小目标检测性能。DEConv结合3×3卷积与空洞卷积增强边缘信息,并自适应融合特征,兼容YOLOv11的P3层(小目标关键层)且计算高效。实验表明,该改进在无人机航拍、显微镜图像等密集小目标场景中显著减少漏检,同时保持轻量化和实时性优势。代码实现可直接嵌入现有YOLO架构,仅需替换P3层卷积模块。

走向CTO的路上... 950

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: 如何配置 SQL Server 2005 以允许远程连接
下一篇: c#获取数据库中所有表名称的方法
bmoon
博客等级 码龄23年 6粉丝 4原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值