Remoting配置文件的用法-阿里云开发者社区

开发者社区> 阿笨net> 正文

Remoting配置文件的用法

简介: 1,如下是Server端典型的Remoting配置文件: (1)当Remote Objects部署在Console/Windows Form、Windows Services下时(上面的配置...
+关注继续查看
1,如下是Server端典型的Remoting配置文件:

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

<configuration>

<system.runtime.remoting>

<application>

<channels>

<channel ref="http"/>

</channels>

<service>

<wellknown mode="Singleton"

type="ComponentHost.CustomerManager, ComponentHost"

objectUri="CustomerManager.soap" />

</service>



</application>

</system.runtime.remoting>

</configuration>



1)当Remote Objects部署在Console/Windows Form、Windows Services下时(上面的配置文件channel需要设置port属性),相应Server端声明Remote Objects的代码可以简化为:

string filename = "server.exe.config";

RemotingConfiguration.Configure(filename);



2)如果Remote Objects部署在IIS时,根本就不需要任何代码声明。但是需要将上述配置文件命名为:web.config,并且将Remote Objects的DLL文件安置在web application的BIN文件夹。



一般在实际应用中,基本上将Remote Objects部署在IIS环境中,好处是(I)不需要编写额外的代码;(II)只要启动机器,远程对象就启动了。不需要你半夜三更跑到公司去登录,然后启动发生故障的远程服务;(III)容易与IIS认证服务进行集成;(IV)可能还有更多优点,我现在没有想到。



3)如果需要声明多个远程对象,只需要在<service>与</service>之间添加相应的Remote Objects配置信息即可。



4)另外需要注意type属性为:<namespace>.<class>, <assembly>



2,如下是Client端典型的配置文件:

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

<configuration>

<system.runtime.remoting>

<application>



<client>

<wellknown type="ComponentHost.CustomerManager, RemotingTest"

url="http://localhost/ComponentHost/CustomerManager.soap" />

</client>



</application>

</system.runtime.remoting>

</configuration>



要注意type属性的设定:<namespace>.<class>, <assembly>

如果Client通过SoapSuds产生Remote Objects的元数据assembly,或者是Shared Assembly(如Interface或Abstract Class),这里<assembly>则为上述assembly的名称。

如果是通过SoapSuds产生Source code,则<assembly>为Client应用程序名(无exe后缀)。



同时,Client端application调用Remote Objects时,可以省掉:注册通道、Activator.GetObject()/RemotingConfiguration.RegisterActivatedServiceType()等代码,取而代之的代码为:

string filename = “clientApplication.exe.config”;

RemotingConfiguration.Configure(filename);

下面通过new来创建Remote Object实例。



3,标准的.Net Remoting Configuration配置文件

MSDN中有.Net Remoting Configuration file中全部元素/属性的完整的详细说明,需要的时候再查阅了。一般情况下,知道下面这些属性就够用了。

<configuration>

<system.runtime.remoting>

<application>

<lifetime /> ―― 配置Remote Objects生存期的信息

<channels /> ―― 配置与远程对象进行通信的信道

<service />

<client />

</application>

</system.runtime.remoting>

</configuration>



简单说明:

1)<service> ―― 仅在Server端配置

<service>

<wellknown /> ―― 配置要发布的SAO(已知)对象的信息

<activated /> ―― 配置要发布的CAO客户端激活对象的信息

</service>





2)<client> ―― 仅在Client端配置,与Server端<service>对应

<client>

<wellknown />

<activated />

</client>



When using CAOs, the <client> property has to specify the URI to the server for all underlying <activated> entries.

Note:When using CAOs from more than one server, you have to create several <client> properties in your configuration file.

当调用CAO远程对象时,必须设定<client>的url属性。如果CAO来自不同的Server,则需要在配置文件中定义多个<client>。如下所示:

<client url="http://localhost/MyServer>

<activated type="Server.MyRemote, Client" />

</client>




4,定制Client/Server Channel元素

1)Client Side

<channel ref="http">

<clientProviders>

<formatter ref="binary" />

</clientProviders>

</channel>

其中,formatter ref=”binary” or “soap”。formatter ref指要在通道上发送的消息格式,在此示例中为二进制,以增强性能。



2)Server Side

<channel ref="http">

<serverProviders>

<provider ref="wsdl" />

<formatter ref="binary" typeFileterLevel="Full" />

<formatter ref="soap" typeFileterLevel="Full" />

</serverProviders>

</channels>

typeFilterLevel表示当前自动反序列化级别,支持的值包括 Low(默认值)和 Full。


本文转载:http://www.cnblogs.com/rickie/archive/2004/10/10/50392.html

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【转】Android配置文件权限一览表
转自:http://blog.csdn.net/kbest/article/details/7495154访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置 android.
1377 0
[重构 Swift 中单例的用法](Refactoring singleton usage in Swift)
本文讲的是[重构 Swift 中单例的用法](Refactoring singleton usage in Swift),在软件开发中,单例模式有足够的原因被广泛的不推荐和不赞成。它们难以测试或者说是不可能测试,当它们在其他类中隐式调用时会使你的代码库混乱,让代码难以复用。
1004 0
SCSS 文件里的感叹号用法 - 给变量设置默认值
SCSS 文件里的感叹号用法 - 给变量设置默认值
8 0
linux和windows互传文件/用户配置文件和密码配置文件/用户组管理/用户管理
2.27linux和windows互传文件 3.1 用户配置文件和密码配置文件 3.2 用户组管理 3.3 用户管理 linux和windows互传文件 显示日期date [root@centos_1 ~]# date 2017年 11月 21日 星期二 08:38:...
1059 0
.replace(/-/g,"/")的用法
  /-/g正则表达式   g  代表  global    全部替换  var str1 ="2012-08-12 23:13"; str1 = str1.replace(/-/g,"/"); var date = new Date(str1 ); alert(date.
952 0
Spring Boot读取配置文件的几种方式
Spring Boot获取文件总的来说有三种方式,分别是@Value注解,@ConfigurationProperties注解和Environment接口。这三种注解可以配合着@PropertySource来使用,@PropertySource主要是用来指定具体的配置文件。
512 0
Java对文件的追加写,模块设计
编程实践中经常需要对文件的读写,本篇文章做一个文件追加写的模块。 使用FileWriter类   (1)使用的构造函数为(参考JAVA API文档):     public FileWriter(String fileName,boolean append) throws IOException   (2)参数说明     fileName(String):要写入数据的文件名称。
759 0
spring 中配置sessionFactory及用法
spring 中配置sessionFactory及用法   方法一: 1、在Spring的applicationContext.xml中配置bean                                                                     ...
993 0
java中Class.getResource用法(用于配置文件的读取)
  用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用File file = new File("c:/test.txt");这样用有什么问题,相信大家都知道,就是路径硬编码,对于JAVA精神来说,应用应该一次成型,到处可用,并且从现实应用来讲,最终生成的应用也会部署到Windows外的操作系统中,对于linux来说,在应用中用了c:/这样的字样,就是失败,所以,我们应该尽量避免使用硬编码,即直接使用绝对路径。
918 0
+关注
842
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载