- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 VS2010 C# 项目中,我们有一个从 MarshalByRefObject 派生的类,我们使用 Activator.GetObject 来设置它。我们正在使用这个派生类通过网络与一台机器对话。
有时目标机器已打开并且能够被 ping 通,但它没有运行我们想要与之交谈的程序,这会导致 30 秒等待,然后出现异常。有没有办法判断我派生的 MarshalByRefObject 是否有效?
目前 try/catch 正在处理这种情况,但 30 秒的等待是 Not Acceptable 。
最佳答案
您可以尝试让任务调用 Ping() 方法,并在任务上使用显式超时...
Task task = new Task(() => { try { obj.Ping(); } catch {} });
task.Start();
if(!task.Wait(1000)) throw new TimeoutException();
// handle other task exceptions etc
关于c# - 如何测试 MarshalByRefObject 是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9232265/
我用 C# 编写了一个非常基本的 Web 服务器,它加载自定义模块来处理对配置文件中指定的特定域名的请求。自定义模块被加载到新的 AppDomain 中,因为我需要能够动态卸载它们(也有利于安全性)。
.NET 有一种称为远程处理的功能,您可以在不同的应用程序域甚至物理机之间传递对象。我不完全理解魔法是如何完成的,因此提出了这个问题。 在远程处理中,有两种传递对象的基本方法 - 要么可以序列化它们(
我有一个 .net WinForms 应用程序,它可以将插件 (dll) 加载到它们自己的 AppDomain 中,每个 dll 使用 domain.CreateInstanceAndUnwrap()
我一直在绞尽脑汁想弄清楚一些事情。所以,我正在寻找建议和研究 Material (通过链接)。场景如下: 我们有一个库(例如,CommonLib),其中包含其他几个应用程序(例如,AppA、AppB、
MarshalByRefObject 的用途是什么? 最佳答案 远程处理;这意味着在 AppDomain 或机器之间,不是序列化和传输对象,对象停留在一端,而代理在另一端创建。对代理的所有方法调用都被
在 AppDomain A 中,我有一个类型为 T 的对象 o。 T 既不是 Serializable 也不是从 MarshalByRefObject 派生的。 T 类型由我无法控制的插件主机提供。
我目前正在修改一个插件架构,以便它利用 AppDomains。我的插件与我在网上找到的许多示例之间的主要区别在于,我的主应用程序不是运行插件并将其结果发送回主应用程序,而是向插件发送信息的应用程序。
我在两个 .NET 应用程序域之间传递一些数据时遇到了一些问题,我希望这里有人可以帮助我。 基本上我拥有的是一个主应用程序 (Main),它将程序集 A 和 B 加载到它的主域中,然后当我运行插件(C
在 VS2010 C# 项目中,我们有一个从 MarshalByRefObject 派生的类,我们使用 Activator.GetObject 来设置它。我们正在使用这个派生类通过网络与一台机器对话。
我有一个案例,我必须跨 AppDomains 使用一些类。为了使它们工作,我让它们继承自 MarshalByRefObject。这些类的一切都按预期工作。但是这些类在我们的整个系统中都在使用,而且 9
各种消息来源解释说 When an object derives form MarshalByRefObject, an object reference will be passed from on
我正在尝试将 C# 应用程序移植到 .NET(客户端服务器),但遇到了序列化问题。 Linux客户端序列化and对象,Windows服务器无法反序列化,报错: System.Runtime.Seria
是否可以确定可用于转换 MarshalByRefObject 对象的接口(interface)? 强制转换运算符如何处理 MarshalByRefObject 对象?它调用 CreateObjRef
我对 .NET Remoting 中的 [Serializable] 和 :MarshalByRefObject 属性感到很困惑。但是我读了很多关于它的文章。如果我使用 [Serializable]
我试图在 stackoverflow 上找到一个解决方案,但似乎找不到一个与我的非常相似的解决方案,所以就到这里吧。我在实验室有一台计算机连接到各种设备,如平移/倾斜装置、相机和光传感器,并安装了所有
在我的 Azure Web 角色代码中,我有一个派生自 System.Security.Principal.IIdentity 的 CustomIdentity 类。在某些时候 .NET 运行时 tr
我正在开发一个需要跨 AppDomain-intra-process 和 inter-process-intra-machine 通信的项目。是的...我知道... NET Remoting 被广泛认
我正在处理我的第一个使用 AppDomains 的项目,我想知道当一个对象从 MarshalByRefObject 派生并且也被标记为 [Serializable] 时会发生什么? 例如: [Seri
如何在像 C# 这样的多继承截断语言中解决“必须是 MarshalByRefObject”? 问题很简单,在某些情况下你只需要继承这个类(基础设施要求)。在这里真的无关紧要,哪种情况。那么,如果您已经
我知道这听起来很愚蠢,但我只是好奇。我的讲师问了这个问题,我们一头雾水。 :D 最佳答案 您的讲师不正确。 foreach(var type in typeof(Uri).Assembly.GetTy
我是一名优秀的程序员,十分优秀!