服务器配置
服务器端激活对象(wellknown):
<service>
<wellknown mode="Singleton" type="General.HelloServer, General" objectUri="SayHello" />
</service>
(singleton为激活方式,服务器只有一个对象实例;General.HelloServer 为远程对象的类型;General为远程对象的 程序集)
客户端激活对象(activated):
<service>
<activated type="General.HelloServer,General">
</service>
( 服务器为没有个客户端新建一个对象,与singlecall类似,使用cao可以保存客户端的状态)
<channels><channel ref="http" port="8086"></channels>
客户端配置
服务器端激活对象(wellknown):
<client>
<wellknown type="General.HelloServer,General"url="http://localhost:8087/SayHello" />
</client>
客户端激活对象(activated):
<client url=http://localhost:8086>
<activated type="General.HelloServer,General"
</client>
<channels><channel ref="http" port="0"></channels>
加载配置文件
RemotingConfiguration.Configure(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
RemotingConfiguration.Configure(@"Server.exe.config");
(两种方式都可以,一般情况下用第一种方式比较好)
使用.net remoting 的用处:
1,进程间的通信方便
2,安全性能比较高
3,可以使用直接操作或者传递对象
租约管理
租用是个封装了TimeSpan类型值的对象,用以管理远程对象的生存期。在.Net Remoting中提供了定义租用功能的ILease接口。当Remoting通过SingleTon模式或客户端激活模式来激活远程对象时,租用对象调用从System.MarshalByRefObject类继承的InitializeLifetimeService方法,向对象请求租用。
ILease接口定义了有关生命周期的属性,均为TimeSpan值,具体介绍如下:
l InitialLeaseTime:初始化有效时间,默认值为300秒,如果为0,表示永不过期;
l RenewOnCallTime:调用远程对象一个方法时的租用更新时间,默认值为120秒;
l SponsorshipTimeout:超时值,通知Sponsor(发起人)租用过期后,Remoting会等待的时间,默认值为120秒;
l CurrentLeaseTime:当前租用时间,首次获得租用时,为InitializeLeaseTime的值。
Remoting的远程对象因为继承了MarshalByRefObject类,因此默认继承了InitializeLifetimeService方法,那么租用的相关属性为默认值。如果要改变这些设置,可以在远程对象中重写该方法。例如:
public override object InitializeLifetimeService() { ILease lease = (ILease)base.InitializeLifetimeService(); if (lease.CurrentState == LeaseState.Initial) { lease.InitialLeaseTime = TimeSpan.FromMinutes(1); lease.RenewOnCallTime = TimeSpan.FromSeconds(20); } return lease; } |
也可以忽略该方法,将对象的租用周期改变为无限:
public override object InitializeLifetimeService() { return null; } |
- 大小: 146.4 KB
分享到:
相关推荐
介绍.net下的Remoting技术. Microsoft .Net Remoting系列专题之一
通过.Net Remoting配置文件可以为Remote Objects设定许多参数,如Channel、SAO服务端激活对象类型(Singleton/SingleCall)等等,方便以后在不用修改代码或重新编译的情况下,改变Remote Objects的行为。
.NET Remoting 的入门课程,通过实例介绍Remoting技术,使广大.NET学习者对.NET Remoting有一个整体的感性认识。演示了如何快速的建立和配置分布式应用程序中服务端和客户端。
将.Net Remoting发布到IIS上的实例。 建议先看一下配置步骤:http://www.our-code.com/news/2010107/n6231154.html 开发环境:VS2005 C#
利用.net的remoting技术很好地实现了局域网内程序域的互访问题。经测试发布不完全版本,有兴趣地可以研究一下。文件夹结构:BLL(业务逻辑层)DLL(数据访问层)RemoteServer(启动服务器端)RemoteClient(远程...
第二部分(6~17章)则对.NET中的关键知识点进行了深入剖析,如程序集、流和序列化、加密与解密、网络编程、.NET Remoting、在.NET中操作XML、.NET应用程序配置、基于角色的安全性、反射、多线程、对象生存期与垃圾...
第二部分(6~17 章)则对.NET 中的关键知识点进行了深入剖 析,如程序集、流和序列化、加密与解密、网络编程、.NET Remoting、在.NET 中操作XML、.NET 应 用程序配置、基于角色的安全性、反射、多线程、对象生存期与...
第二部分(6~17 章)则对.NET 中的关键知识点进行了深入剖 析,如程序集、流和序列化、加密与解密、网络编程、.NET Remoting、在.NET 中操作XML、.NET 应 用程序配置、基于角色的安全性、反射、多线程、对象生存期与...
第二部分(6~17 章)则对.NET 中的关键知识点进行了深入剖 析,如程序集、流和序列化、加密与解密、网络编程、.NET Remoting、在.NET 中操作XML、.NET 应 用程序配置、基于角色的安全性、反射、多线程、对象生存期与...
5.FileShare目录是我要写的程序共享台,前台依然是WPF的但是没写完,.NET REMOTING的 注意: 数据库连接字符串配置在服务器端进行配置。 运行程序,要先启动服务端,在启动客服端程序 数据库放在:DB文件夹下
.NET Remoting快速入门 27.1.简介 27.2.Remoting实例程序 27.3.实现 27.4.运行程序 27.5.Remoting Schema 27.6.参考资源 第二十八章. Web框架快速入门 28.1.简介 第二十九章. SpringAir - 参考程序 29.1.简介 29.2....
将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005 ASP.NET 2.0 中的数据源控件 使用 ASP.NET 2.0 ObjectDataSource 控件 ASP.NET 2.0 的内部变化 使用SQL Cache Dependency 代替 ...
SPRING.NET FRAMEWORK,版本3.0.0(预发布) ...可移植服务抽象通过.NET Remoting,Web Service或.NET Serviced Component导出纯.NET对象,并基于终结点URL和服务接口创建客户端代理。 NHibernate整合NHibernate
5.FileShare目录是我要写的程序共享台,前台依然是WPF的但是没写完,.NET REMOTING的 注意: 数据库连接字符串配置在服务器端进行配置。 运行程序,要先启动服务端,在启动客服端程序 数据库放在:DB文件夹下 开发...
一,课程介绍: Spring.NET+NHibnerte+ASP.NET MVC4: 一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;...后续的发布将包含对ASP DOTNET、Remoting和数据访问的支持。
为了消除MainApp对其它组件的依赖性,我们引入工厂模式,并且根据配置文件指定的装配规程,利用.net提供的反射技术完成对象的组装工作。 本部分代码仅仅提供一种功能演示,如果实际应用仍需进一步完善(建议使用一些...
详细讲授远程处理(Remoting)技术,包括基本远程处理框架,配置文件及其应用, 异步远程处理技术,租约和生存期控制;系统地讲授Windows服务编程、Com+ 服务、WSE2.0的使用。 掌握 Socket 编程、TCP、 UDP编程、...
详细讲授远程处理(Remoting)技术,包括基本远程处理框架,配置文件及其应用, 异步远程处理技术,租约和生存期控制;系统地讲授Windows服务编程、Com+ 服务、WSE2.0的使用。 掌握 Socket 编程、TCP、 UDP编程、...
详细讲授远程处理(Remoting)技术,包括基本远程处理框架,配置文件及其应用, 异步远程处理技术,租约和生存期控制;系统地讲授Windows服务编程、Com+ 服务、WSE2.0的使用。 掌握 Socket 编程、TCP、 UDP编程、...
.NET Remoting架构 构建分布式应用程序 租赁和赞助 .NET与位置透明 第11章:上下文与拦截 .NET组件服务 .NET上下文 自定义组件服务 第12章:安全 .NET安全架构 配置权限 编程式安全 Visual Studio 2005与安全 基于...