remoting服务器端启动后一段时间被停掉

zhengoodman 2010-05-06 09:57:02
新建了个remoting程序,启动服务器端后,客户端在开始时访问服务器是好用的,但过了2、3分钟后就莫名其妙的停掉?谁知道是为什么啊?
...全文
75 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengoodman 2010-05-06
  • 打赏
  • 举报
回复
确实如5楼和6楼所说的那样。问题已解决。结贴
九章落地 2010-05-06
  • 打赏
  • 举报
回复
应是remoting服务的租用时间,导致的!
InitialLeaseTime,默认时间为5分钟,你可根据需要,把时间调长,也可设为0,让其永不过期!

Remoting的远程对象因为继承了MarshalByRefObject,因此默认继承了InitializeLifetimeService方法,那么租用的相关属性为默认值。如果要改变这些设置,可以在远程对象中重写该方法。例如,设为30分钟:
public override object InitializeLifetimeService()
{
ILease lease = (ILease)base.InitializeLifetimeService();
if (lease.CurrentState == LeaseState.Initial)
{
lease.InitialLeaseTime = TimeSpan.FromMinutes(30);
lease.RenewOnCallTime = TimeSpan.FromSeconds(20);
}
return lease;
}

也可以忽略该方法,将对象的租用周期改变为无限:
public override object InitializeLifetimeService()
{
return null;
}

----------
三易通软件(三易通服装进销存软件,三易通服装进销存管理软件,三易通服装进销存管理系统,三易通服装店管理软件,三易通服装店管理系统,三易通服装销售管理软件,三易通服装销售管理系统,三易通服装零售管理软件,三易通服装零售管理系统,三易通服装店软件,三易通服装店收银软件)http://www.3etsoft.cn
ginni215 2010-05-06
  • 打赏
  • 举报
回复
这个不是bug,这个是因为你服务端注册的类没有设置一个当无操作的延迟时间,默认时间是很短的,当客户端一直无操作到达默认的时间的时候,就会断开的,需要加:
public override object InitializeLifetimeService()
{
return null;
}
yangjian15 2010-05-06
  • 打赏
  • 举报
回复
用一个大大的Try,然后将异常写日志。停掉后看日志 。
zhengoodman 2010-05-06
  • 打赏
  • 举报
回复
程序调试编译都通过,没人遇到过类似情况吗?
honkerhero 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gengchengxiang 的回复:]

程序有bug吧。
[/Quote]

真理在这里
gengchengxiang 2010-05-06
  • 打赏
  • 举报
回复
程序有bug吧。

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧