首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试MarshalByRefObject是否有效?

如何测试MarshalByRefObject是否有效?
EN

Stack Overflow用户
提问于 2012-02-11 01:42:06
回答 1查看 567关注 0票数 4

在VS2010 C#项目中,我们有一个从MarshalByRefObject派生的类,我们使用Activator.GetObject来设置它。我们正在使用这个派生类通过网络与机器通信。

有时,目标机器是打开的,并且能够被pinged到,但是它没有运行我们想要与之对话的程序,这会导致30秒的等待,然后是一个异常。有没有办法判断我的派生MarshalByRefObject是否有效?

目前,try/catch正在处理这种情况,但30秒的等待是不可接受的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-11 01:51:05

您可以尝试让Task调用Ping()方法,并对任务使用显式超时...

代码语言:javascript
复制
Task task = new Task(() => { try { obj.Ping(); } catch {} });
task.Start();
if(!task.Wait(1000)) throw new TimeoutException();
// handle other task exceptions etc
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9232265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档