Remoting

snyl 2007-07-03 10:57:21
在客户端调用远程方法时出错:调用的目标发生了异常


代码是这样的
服务端
ChannelServices.RegisterChannel(new TcpChannel(8088),false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Hosts), "hi", WellKnownObjectMode.Singleton);

客户端:

Hosts w = (Hosts)Activator.GetObject(typeof(Hosts), "tcp://localhost:8088/hi");
Response.Write(w.wr());////执行到这句出错

不知道为什么,以上代码有时执行成功,有时就出错.


弄了好久也没找到哪里写错了
之前一直这么写用着都没有出现过错误.

请有Remoting经验的人帮帮忙,谢谢了
...全文
206 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzhaozhe 2011-01-24
  • 打赏
  • 举报
回复
我的问题差不多,还是没解决吗。。 san nian le dou
wzd24 2007-07-04
  • 打赏
  • 举报
回复
你发个这样的日志有什么用啊??
HankEmerson 2007-07-04
  • 打赏
  • 举报
回复
没太多时间尝试,
关注一下先

-----------------------------------
非学无以广才,非志无以成学!
http://blog.sina.com.cn/PanJinCun
snyl 2007-07-03
  • 打赏
  • 举报
回复
...............................................
??????????????????????????????????????????????
snyl 2007-07-03
  • 打赏
  • 举报
回复
事件查看器里出现这样一条警告,当执行客户端程序时
Event code: 3005
Event message: 发生了未处理的异常。
Event time: 2007-7-3 11:56:20
Event time (UTC): 2007-7-3 3:56:20
Event ID: f763c748be404a38bf56cc3db3b0d98b
snyl 2007-07-03
  • 打赏
  • 举报
回复
是不是刚启动的几分钟没事儿,过一会就不行了? 如果是,很可能是Life Time 过期了.
__________________________________
不是这样的,是安装服务,有时调用成功,有时改些代码重新安装服务,就失败了.就算改回原始状态也一样调用失败
换换端口在重新安装又好了,可用用又失败了,不是代码的问题...

应该是Remoting 哪里设置不对吧??
wzd24 2007-07-03
  • 打赏
  • 举报
回复
把失败时的异常贴出来!
不要让我们猜谜玩!
snyl 2007-07-03
  • 打赏
  • 举报
回复
我把那个方法加到了类里面,调用wr方法时还是出现
调用的目标发生了异常这个错误


请在帮忙看看
RedGoldFish 2007-07-03
  • 打赏
  • 举报
回复
象下边那样可以让Hosts 永远不过期:

public class Hosts : MarshalByRefObject
{
public string wr()
{

return "aaaaa";
}

public override object InitializeLifetimeService()
{
return null;
}


}
RedGoldFish 2007-07-03
  • 打赏
  • 举报
回复
不知道为什么,以上代码有时执行成功,有时就出错.
____________________________________________

是不是刚启动的几分钟没事儿,过一会就不行了? 如果是,很可能是Life Time 过期了.
RedGoldFish 2007-07-03
  • 打赏
  • 举报
回复
估计是Life Time 的原因, Server 过期了,这样改,加在Server 里边:

public override object InitializeLifetimeService()
{
return null;
}
snyl 2007-07-03
  • 打赏
  • 举报
回复
public class Hosts : MarshalByRefObject
{
public string wr()
{

return "aaaaa";
}

}

发错了,呵呵
snyl 2007-07-03
  • 打赏
  • 举报
回复
public class wr : MarshalByRefObject
{
public string ftpname;

public wr()
{
ftpname = "失败111";

}
public string write()
{
return ftpname;

}
}

不会,因为他有时成功调用了,这只是我测试用的一个方法
ekinwt 2007-07-03
  • 打赏
  • 举报
回复
wr方法是不是写的有问题呢?
ilovethisweb 2007-07-03
  • 打赏
  • 举报
回复
D
snyl 2007-07-03
  • 打赏
  • 举报
回复
改改端口什么的就好用了,但调试调试方法又不好用了.......愁死~~~~~~~~~~~~`

110,571

社区成员

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

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

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