首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在.NET远程处理RemotingConfiguration.RegisterWellKnownServiceType和RemotingServices.Marshal之间有什么区别?

在.NET远程处理中,RemotingConfiguration.RegisterWellKnownServiceTypeRemotingServices.Marshal都是用于将远程对象注册到.NET Remoting服务中,以便其他客户端可以访问这些对象。它们之间的主要区别在于它们的使用场景和注册方式。

  1. RemotingConfiguration.RegisterWellKnownServiceType

这个方法用于将一个远程对象注册为一个预定义的服务类型。它需要在服务器端调用,并且需要提供一个完全限定的类型名称和一个URI,用于标识这个远程对象。当客户端请求这个URI时,服务器会创建一个指定类型的实例,并将其返回给客户端。这种方式适用于服务器端已经存在的对象,或者需要多个客户端共享同一个对象的情况。

  1. RemotingServices.Marshal

这个方法用于将一个远程对象注册为一个具体的对象实例。它也需要在服务器端调用,并且需要提供一个URI,用于标识这个远程对象。与RegisterWellKnownServiceType不同的是,Marshal方法需要传入一个具体的对象实例,并将其注册为远程对象。当客户端请求这个URI时,服务器会返回这个具体的对象实例。这种方式适用于服务器端需要将一个具体的对象实例暴露给客户端的情况。

总结:

RemotingConfiguration.RegisterWellKnownServiceTypeRemotingServices.Marshal都是用于将远程对象注册到.NET Remoting服务中,以便其他客户端可以访问这些对象。RegisterWellKnownServiceType用于将一个远程对象注册为一个预定义的服务类型,适用于服务器端已经存在的对象或需要多个客户端共享同一个对象的情况;而Marshal方法用于将一个远程对象注册为一个具体的对象实例,适用于服务器端需要将一个具体的对象实例暴露给客户端的情况。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WPF 从零开始开发 dotnet Remoting 程序

这里的 RemoteObject 就是放一些 Native Remote 都需要使用的类。...Native 远程都知道这个类 注册一个类的方法很多个,本文只告诉大家通过 RemotingServices.Marshal 的方式注册 因为 Remote 的主函数是等待输入也就是这个线程是无法使用...调用方法 Native 的界面添加一个按钮,在按钮按下的时候就触发 Remote 的类的函数 这里关于 Native 的界面添加按钮按钮事件本文就不说了,因为很简单。...Remoting系列专题之三:Remoting事件处理全接触 - 张逸 - 博客园 Microsoft .Net Remoting系列专题之二:Marshal、Disconnect与生命周期以及跟踪服务...C#》 第3版 .NET Remoting程序开发入门篇-博客-云栖社区-阿里云 .NET Remoting中的事件处理(.NET Framework 2.0)(一) - 大坏蛋 - 博客园 WPF

84220

.NET Remoting 体系结构 之 信道的功能配置 (二)

()方法,以便在信道之间来回传输数据。...服务器端,这个类用于为服务器 激活的对象注册远程对象类型,把远程对象编组到已编组的对象引用类 ObjRef 中。ObjRef 是在网络 上发送的对象的可序列化表示。...客户端,为了从对象引用中创建代理,需要使用 RemotingServices 类打乱远程对象。 1....知名对象的服务器 下面的服务器端代码把知名的远程对象类型注册为 RemotingServices: 1 RemotingConfiguration.RegisterWellKnownServiceType...一般情况下,如果要在所有的客户端 之间共享一些数据,则可以使用这种对象类型。对于只读数据这是毫无问题的,但是,对 于可读写的数据,就必须考虑数据锁定问题可伸缩性。

70710
  • c# Romting简单示例

    1.什么是Remoting 简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说 Remoting 就是 DCOM的一种升级,它改善了很多功能,并极好的融合到.NET平台下。... Remoting 中是通过通道(channel)来实现两个应用程序域之间对象的通信的。 首先,客户端通过Remoting,访问通道以获得服务端对象,再通过代理解析为客户端对象。...远程对象代码可以运行在服务器上(如服务器激活的对象客户端激活的对象),然后客户端再通过 Remoting 连接服务器,获得该服务对象并通过序列化客户端运行。... Remoting 中,对于要传递的对象,设计者除了需要了解通道的类型端口号之外,无需再了解数据包的格式。但必须注意的是,客户端获取服务器端对象时,并不是获得实际的服务端对象,而是获得它的引用。...,对象URI激活对象的枚举成员 RemotingConfiguration.RegisterWellKnownServiceType(typeof(MyObject), "MyUri

    14010

    .NET简谈组件程序设计之(初识NetRemoting)

    本人的“.NET简谈组件程序设计之(初识远程调用) ”一文中,我们了解到什么是远程调用或者说.NET平台上远程调用是什么样子的,可能偏低层(Socket\Rpc)的远程调用有点距离。...其实在我们不断学习的过程中会慢慢的我们脑海里浮现出我们所学习的东西的模型,比如我们是专研.NET这门技术,那么我们脑子里是否已经了一个简单而模糊的阴影,能看见这种阴影才证明我们刚刚入门。...[王清培版权所有,转载请给出署名] .NetRemoting示例 .NET里面不管是夸进程还是夸机器之间的AppDomain调用都是通过远程调用技术进行处理的。...同一个进程里面可能不会涉及到物理上的通讯,直接拿到代理就OK了,只是一些逻辑宿主之间处理。...在这上面一层是消息格式化器,也就是对象的序列化过程,在对象的持久化状态托管内存状态之间转换。

    29940

    DotNET企业架构应用实践 - 用服务定位器(SL)完成服务的多种实现的统一调用

    前面的文章服务定位器(SL)与AgileEAS.NET中的实现介绍了服务定位器的一些概念、应用场景与AgileEAS.NET平台中SL的实现,本文是这骗文件的一个例子与Demo,详细的演示...SL应用开发中的使用。        ...下面我说开始例子,假设有这么一个应用场景,我们需求一个Hello服务,并且需要在XML WebService、.NET Remoting本地同进程中三种不同环境的应用,也就是说,这个服务可能会有三中实现...,具体使用那一个,应用过程中决定,我先贴个简单的类图: ?        ...是不是很简单,实际应用中,对于这种服务运行环境的未知性,我们可以通过这种简单的方法进行处理,服务消费者只需求知道接口,而无需知道具体的实现,开发人员可以根据客户的不同应用场景而做出不同的实现,上例中的服务定义配置项中

    587100

    .Net Remoting(基本操作) - Part.2

    客户端(客户应用程序) 客户端的处理包含三个基本的组成部分,代理(Proxy)、格式器(Formatter) 通道(Channel)。 客户端总是通过一个代理来和服务端对象进行交互。...因为Sinlgton对象是第一次访问(比如方法调用)时由.Net自动创建的,后继的访问不能重新创建对象,所以它不提供参数的构造函数。...其实.Net和你一样,它也不知道这里要创建的是远程对象,所以,使用new创建远程对象之前,我们首先要注册对象。...我们知道远程对象 客户激活 服务激活 两种可能,因此客户程序注册也分为了两种情况 -- 注册客户激活对象,注册服务激活对象。...,服务激活两种可能的方式,SingletonSingleCall,但是客户端,服务激活的两种方式采用同一个方法RegisterWellKnownClientType()方法进行注册。

    54620

    C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService(一)

    1. .NET C# 什么区别?.NET(通用语言运行时):定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于不同的编程语言中执行代码。....NET Remoting(远程对象调用)是一种分布式应用程序中进行远程通信的技术,允许不同应用程序域(AppDomain)或不同计算机之间进行对象之间的调用。....DataReader DataSet 是 ADO.NET 中用于处理数据的两个主要组件,它们一些关键的区别:1、数据处理方式1)DataReaderDataReader 是只读、向前的数据流,它以流的方式从数据源中读取数据...21. 什么区别 ASP.NET 中, 是两种不同的数据绑定语法。...实际开发中,常常根据 RESTful 设计规范,使用不同的 HTTP 方法来表达不同的操作,而不仅仅是 GET POST。28. http 响应码 301 302 代表的是什么?什么区别

    16410

    dotnet remoting 使用事件

    RPC如果需要使用事件,相对是比较难的。本文告诉大家如何在 .net remoting 使用事件。 我这个博客WPF 使用RPC调用其他进程已经告诉大家如何简单使用。...开发建议 如果已经封装好的框架进行开发,很多的时候,就和使用本地的代码一样。但是对于事件委托就需要做一层处理。 所以这时就建议开发时写一对类,抽出功能接口的方法。...但是对于远程进程是完全知道 Remote Native 的。...参见:Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触 - 张逸 - 博客园 Microsoft .Net Remoting系列专题之二:Marshal、Disconnect....NET Remoting程序开发入门篇-博客-云栖社区-阿里云 .NET Remoting中的事件处理(.NET Framework 2.0)(一) - 大坏蛋 - 博客园 WPF 使用RPC调用其他进程

    33310

    .Net Remoting(远程方法回调) - Part.4

    .Net Remoting(远程方法回调) - Part.4 2008-8-22 作者: 张子阳 分类: .Net 框架 Remoting中的方法回调 远程回调方式说明 远程方法回调通常有两种方式...其次就是方法中触发事件时,我采用了遍历委托链表的方式,并放在了try/catch块中,因为触发事件时客户端可能已经不存在了。...从上面这幅图可以很清楚地看到服务端代理的创建过程:首先在第1阶段,客户端服务端谁也不知道谁在哪儿;因此,第2阶段,我们首先要为客户端提供服务端对象的地址类型元数据,了这两样东西,客户端便可以创建服务端的代理...由于我们已经服务端对象中进行了异常处理,可以看到不会出现任何错误,程序会按照预期的执行。...当客户端方法用OneWay标记后,.NET会自动实施异步调用,并且客户端产生异常时也不会影响到服务端的运行。 这个例子就不演示了,感兴趣可以自己试一下。 感谢阅读,希望这篇文章能给你带来帮助!

    77620

    .net remoting 使用事件

    RPC如果需要使用事件,相对是比较难的。本文告诉大家如何在 .net remoting 使用事件。 我这个博客WPF 使用RPC调用其他进程已经告诉大家如何简单使用。...开发建议 如果已经封装好的框架进行开发,很多的时候,就和使用本地的代码一样。但是对于事件委托就需要做一层处理。 所以这时就建议开发时写一对类,抽出功能接口的方法。...建议新建的两个类是写在一个文件,而且需要让两个类继承 MarshalByRefObject 接口 IRemoteEventHandle ,并且只允许本地的NativeEventHandle构造传入远程的类...参见:Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触 - 张逸 - 博客园 Microsoft .Net Remoting系列专题之二:Marshal、Disconnect....NET Remoting程序开发入门篇-博客-云栖社区-阿里云 .NET Remoting中的事件处理(.NET Framework 2.0)(一) - 大坏蛋 - 博客园 WPF 使用RPC调用其他进程

    71410

    金三银四面试:C#.NET面试题高级篇1-多线程

    2、using关键字什么用?跟IDisposable啥关系? 3、前台线程后台线程什么区别? 4、什么是线程互斥? 5、如何查看设置线程池的上下限?...6、Task状态机的实现工作机制是什么? 7、await的作用原理,并说明GetResult()什么区别? 8、多线程什么用? 9、TaskThread区别吗?...--->详解 3.前台线程后台线程什么区别?...MoveNext方法还需处理线程异常等问题。 --->详解 7、await的作用原理,并说明GetResult()什么区别?...单核CPU上所谓的”多线程”那是假的多线程,同一时间处理器只会处理一段逻辑,只不过线程之间切换得比较快,看着像多个线程”同时”运行罢了。

    1.7K50

    XML+JSON面试题都在这里

    什么共同点 共同点: 用于RPC远程调用数据交换格式 RPC远程调用简单理解:调用本地服务一样调用远程服务 具体可参考@用心阁的答案:https://www.zhihu.com/question/25536695...@ 郑大侠的答案:https://www.zhihu.com/question/25536695/answer/134976748 - RPC服务与HTTP服务对比:[http://blog.csdn.net...,数据共享比较方便 XML的缺点 A.XML文件庞大,文件格式复杂,传输占带宽; B.服务器端客户端都需要花费大量代码来解析XML,导致服务器端客户端代码变得异常复杂且不易维护; C.客户端不同浏览器之间解析... SAX 解析器什么区别 DOM SAX 解析器什么区别 DOM解析读取整个XML文档,在内存中形成DOM树,很方便地对XML文档的内容进行增删改。...SAX解析采用部分读取的方式,可以处理大型文件,但只能对文件按顺序从头到尾解析一遍,不支持文件的增删改操作 DOM是基于内存的,不管文件多大,都会将所有的内容预先装载到内存中。

    3.4K40

    ASP.NET MVC学习笔记01初始

    ---- 创建项目 新建项目 开发环境使用了Win10 + Visual Studio 2017 Community,并使用了远程云服务器中的SqlServer 2008 R2 。 ?...说到MVC三层架构,就不得不说到耦合性这个概念,这个概念要讲清楚,不单独写一篇引经据典的论述个半小时是讲不完的。这里就简要解释下:耦合性:指的就是模块之间的关联度。...那么MVC三层架构到底什么区别呢?就ASP.NET平台而言,MVC,通常来说其实是指ASP.NET MVC——微软的开发团队基于MVC开发的一个易于被测试的框架。...所以可以这样理解,ASP.NET环境下,我们所说的MVC,其实就是三层架构的一个官方实例。...Controller:控制器主要是进行逻辑处理,控制实体数据视图上的展示,并调用模型处理业务请求。总之,控制器能在不同的层之间控制应用程序的流程,起到了组织的作用。

    1.1K60

    dotnet remoting 使用事件

    RPC如果需要使用事件,相对是比较难的。本文告诉大家如何在 .net remoting 使用事件。 我这个博客WPF 使用RPC调用其他进程已经告诉大家如何简单使用。...HttpChannel 功能比较强大,支持广域网使用,可以让很多不是 .net 写的程序使用,但是需要自己写安全的代码 TcpChannel 速度更快的方式,一般局域网使用 IpcChannel...开发建议 如果已经封装好的框架进行开发,很多的时候,就和使用本地的代码一样。但是对于事件委托就需要做一层处理。 所以这时就建议开发时写一对类,抽出功能接口的方法。...建议新建的两个类是写在一个文件,而且需要让两个类继承 MarshalByRefObject 接口 IRemoteEventHandle ,并且只允许本地的NativeEventHandle构造传入远程的类...修复事件断开 有时候会发现一个程序放着过很久,远程本地的事件就断开,也就是远程的事件触发正常,但是本地没有收到。

    50630

    115个Java面试题答案——终极列表(下)

    异常处理 Java小应用程序(Applet) Swing JDBC 远程方法调用(RMI) Servlet JSP 异常处理 43.Java中的两种异常类型是什么?他们什么区别?...相反,受检查的异常必须要用throws语句方法或者是构造函数上声明。这里Java异常处理的一些小建议。 44.Java中ExceptionError什么区别?...46.异常处理完成以后,Exception对象会发生什么变化? Exception对象会在下一个垃圾回收过程中被回收掉。 47.finally代码块finalize()方法什么区别?...84.Naming类的bind()rebind()方法什么区别? bind()方法负责把指定名称绑定给远程对象,rebind()方法负责把指定名称重新绑定到一个新的远程对象。...表达式是这两个标签之间定义的。 115.隐含对象是什么意思?哪些隐含对象? JSP隐含对象是页面中的一些Java对象,JSP容器让这些Java对象可以为开发者所使用。

    55540

    115个Java面试题答案——终极列表(下)

    异常处理 Java小应用程序(Applet) Swing JDBC 远程方法调用(RMI) Servlet JSP 异常处理 43.Java中的两种异常类型是什么?他们什么区别?...相反,受检查的异常必须要用throws语句方法或者是构造函数上声明。这里Java异常处理的一些小建议。 44.Java中ExceptionError什么区别?...46.异常处理完成以后,Exception对象会发生什么变化? Exception对象会在下一个垃圾回收过程中被回收掉。 47.finally代码块finalize()方法什么区别?...84.Naming类的bind()rebind()方法什么区别? bind()方法负责把指定名称绑定给远程对象,rebind()方法负责把指定名称重新绑定到一个新的远程对象。...表达式是这两个标签之间定义的。 115.隐含对象是什么意思?哪些隐含对象? JSP隐含对象是页面中的一些Java对象,JSP容器让这些Java对象可以为开发者所使用。

    53910

    【续】Java面试基础必备知识点,怼死面试官,从我做起

    相反,受检查的异常必须要用throws语句方法或者是构造函数上声明。这里Java异常处理的一些小建议。 44.Java中ExceptionError什么区别?...46.异常处理完成以后 Exception对象会发生什么变化? Exception对象会在下一个垃圾回收过程中被回收掉。 47.finally代码块finalize()方法什么区别?...59.滚动条(Scrollbar) 滚动面板(JScrollPane)什么区别? Scrollbar是一个组件,不是容器。而ScrollPane是容器。ScrollPane自己处理滚动事件。...84.Naming类的bind()rebind() 方法什么区别? bind()方法负责把指定名称绑定给远程对象,rebind()方法负责把指定名称重新绑定到一个新的远程对象。...表达式是这两个标签之间定义的。 115.隐含对象是什么意思? 哪些隐含对象? JSP隐含对象是页面中的一些Java对象,JSP容器让这些Java对象可以为开发者所使用。

    1.4K50
    领券