net Remoting(4)——配置文件

RemotingConfiguration类进行类型注册时,可以采用程序配置方式,也可以通过配置文件来进行。这个类有一个Configure方法:

public static void Configure(

string filename,

bool ensureSecurity

)

Filename就就文件名(配置文件的文件名),第二个参数用于选择安全性的启用与否

在服务端激活下用配置文件来实现:

在控制台应用程序下添加SelfService.config文件(一个文件),添加以下内容:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<system.runtime.remoting>

<application name="ServerRemoting">

<service>

<wellknown mode="Singleton"

type="SelfRemote.selfRemoteObject,SelfRemote"

objectUri="selfRemoteObject"/>

</service>

<channels>

<channel ref="http" port="10001"/>

</channels>

</application>

</system.runtime.remoting>

</configuration>

在这个文件中,通道注册,类型注册与程序中对应。然后把此文件的 复制到输出目录 设置为 始终复制(为的就是在生成的控制台应用程序同级目录,能够找得到这个配置文件)。

然后,在控制台可以:

Console.WriteLine("http 通道remoting服务开始……");

RemotingConfiguration.Configure("SelfService.config", false);

onsole.Read();

这样就可以了。

在客户端,如果采用客户端激活方式,那么同上差不多,同时也要保证在程序同级目录能找到文件(始终复制):

新建立ClientService.config文件,文件内容为:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<system.runtime.remoting>

<application name="ServerRemoting">

<service>

<wellknown mode="Singleton"

type="SelfRemote.selfRemoteObject,SelfRemote"

objectUri="selfRemoteObject"/>

</service>

<channels>

<channel ref="http"/>

</channels>

</application>

</system.runtime.remoting>

</configuration>

这里的channel不要再指定端口。

在测试中:

RemotingConfiguration.Configure("ClientService.config",false);

selfRemoteObject app1 = new selfRemoteObject();

Assert.AreEqual(0, app1.Unid);

这样就可以了。

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

时间: 2024-08-09 16:01:47

net Remoting(4)——配置文件的相关文章

使用.NET Remoting开发分布式应用——配置文件篇

我们已经知道可以通过编码的方式配置服务器通道和远程客户机,除此之外,还可以使用配置文件对服务器通道和远程客户机进行配置.使用远程客户机和服务器对象的配置文件的优点在于,用户无需修改任何一行代码,也无需进行重新编译,便可以配置通道和远程对象. .NET提供了Remoting配置文件的标准,基于XML格式. 一.配置文件 1.服务器配置文件: 先来看一个服务器配置文件的实例,然后我再具体解释一下其中的内容: <?xml version="1.0" encoding="utf

.Net remoting方法实现简单的在线升级(上篇:更新文件)

一.前言:       最近做一个简单的在线升级Demo,使用了微软较早的.Net Remoting技术来练手. 简单的思路就是在服务器配置一个Remoting对象,然后在客户端来执行Remoting对象中的方法. 过程: (1) 读取本地dll文件的名称与版本号,与服务器的进行对比 (2) 确认需要升级的文件名称与版本号并告诉服务器,服务器将其复制到一个临时文件夹并压缩成zip (3) 将服务器的zip下载到本地的临时文件夹,并解压. 定义服务器端为UpdateServer,其配置文件为: <

WCF分布式开发必备知识(2):.Net Remoting

.Net Remoting技术,我们可以将其看作是一种分布式处理方式.作为应用程序之间通信的一种机制,.Net Remoting与MSMQ消息队列不同,它不支持离线脱机消息,另外只适合.Net平台间程序的通信.从微软的产品角度来看,可以说Remoting就是分布式组件DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下..NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架.这也正是我们使用Remoting的原因.为什么呢?在Windows操作系统中,

配置文件入门 - WebConfig.config常用配置节点介绍

一.配置文件入门 .Net提供了一种保存项目配置信息的办法,就是利用配置文件,配置文件的后缀一般是.config.在WinForm程序中配置文件一般是App.config.在Asp.net中一般默认是web.config. 一个.config配置文件都是基于XML的文本文件,并且可以保存到Web应用程序中的任何目录中.在发布Web应用程序时web.config文件并不编译进dll文件中.将来如果客户端发生了变化,仅仅需要使用记事本打开Web.config文本编辑相关的设置就可以重新正常使用,而无

跟我一起学WCF(2)——利用.NET Remoting技术开发分布式应用

一.引言 上一篇博文分享了消息队列(MSMQ)技术来实现分布式应用,在这篇博文继续分享下.NET平台下另一种分布式技术——.NET Remoting. 二..NET Remoting 介绍 2.1 .NET Remoting简介 .NET REmoting与MSMQ不同,它不支持离线可得,另外只适合.NET平台的程序进行通信.它提供了一种允许对象通过应用程序域与另一个对象进行交互的框架..NET 应用程序都在一个主应用程序域中执行的,在一个应用程序域中的代码不能访问另一个应用程序域的数据,然而在

.Net中Remoting通信机制

Remoting通信机制 Remoting介绍 主要元素 通道类型 激活方式 对象定义 Remoting介绍 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式. 从微软的产品角度来看,可以说Remoting就是DCOM(分布式组件对象模型,分布式组件对象模式)的一种升级,它改善了很多功能,并极好的融合到.Net平台下.Microsoft .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架.这也正是我们使用Remoting的原因.为什么呢?在

浅谈.net remoting 与 webservice

1. .NET Remoting .NET Remoting是微软随.NET推出的一种分布式应用解决方案,被誉为管理应用程序域之间的 RPC 的首选技,它允许不同应用程序域之间进行通信(这里的通信可以是在同一个进程中进行.一个系统的不同进程间进行.不同系统的进程间进行). 更具体的说,Microsoft .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架.也就是说,使用.NET Remoting,一个程序域可以访问另外一个程序域中的对象,就好像这个对象位于自身内

Remoting获取客户端的外网IP地址

其实在服务端Remoting可以像读取一个变量一样来获取到连接过来的客户端的IP,不过这个IP不是太容易的取到. 网上有一个解决方案就是使用配置文件来吸取IP地址,但是这个方案需要我们使用配置文件来使用Remoting,如果我们是代码形式的程序,那么怎样获取客户端IP呢. Remoting.WebService底层都是用Socket来实现,Socket本身很容易的可以获取到IP地址,所以理论上Remoting获取客户端IP是通过的. 我们可以从吸取器入手来获取,假如我们使用TCP通道来通信,在服

使用.NET Remoting开发分布式应用——基于租约的生存期

一.概述 知名类型的SingleCall对象可以在客户程序的方法调用之后被垃圾收集器清理掉,因为它没有保持状态,属于无状态的.而客户激活的类型的对象和知名类型的SingleTon对象都属于生存期长的对象,如果在客户程序停止使用远程对象之前,远程对象被禁用了,则客户程序会得到一个RemotingException异常.因为该对象已经和下一个方法调用(从客户程序进行的方法调用)断开了连接,只要客户程序需要该对象,它就必须被激活. 微软的DCOM技术使用了Ping机制,在这种机制下,客户程序有规律的对