Windows 是否有一种正常的方式来;平";COM对象?
我发现在服务器位于不同单元的情况下实现IPC或其他COM接口时,有时我想“ping”该对象,以查看另一端是否仍处于活动状态。如果我控制这个接口,我可以向它添加一个Windows 是否有一种正常的方式来;平";COM对象?,windows,com,ipc,Windows,Com,Ipc,我发现在服务器位于不同单元的情况下实现IPC或其他COM接口时,有时我想“ping”该对象,以查看另一端是否仍处于活动状态。如果我控制这个接口,我可以向它添加一个Ping()方法,但是我想知道是否还有一种更简单的方法 有没有一种不产生应用程序流量的方法来检查服务器是否处于活动状态 考虑这样一个场景,即您有一个在process server之外编写的第三方,它在启动调用之前有很长的启动时间。我们触发进程启动,这样当我收到请求时,我就可以调用预处理服务。该服务有缺陷,但无法编辑或修复,因此有时会崩溃
Ping()
方法,但是我想知道是否还有一种更简单的方法
有没有一种不产生应用程序流量的方法来检查服务器是否处于活动状态
考虑这样一个场景,即您有一个在process server之外编写的第三方,它在启动调用之前有很长的启动时间。我们触发进程启动,这样当我收到请求时,我就可以调用预处理服务。该服务有缺陷,但无法编辑或修复,因此有时会崩溃。当这种情况发生时,我想重新启动服务
我的目的是让应用程序逻辑保持空闲——我不想只为了验证服务器是否处于活动状态而向服务器提交合成流量。我也不想监视进程或崩溃,因为此应用程序的多个实例可能正在运行。为我的特定COM对象定位托管服务器的进程可能很困难,但这并不意味着它处于可以接受调用的状态。我也不能使用NT服务恢复选项,因为它在用户会话中运行
对于不存在的
IID
的QueryInterface
是否可以生成RPC\u E\u DISCONNECTED
和类似的内容,或者可以由代理处理(隐藏服务器问题)?这是否回答了您的问题@RaymondChen,非常相似。这不是TOCTOU的问题——我不是在预先检查后续调用,而是在服务器意外死亡时(即使客户端处于空闲状态)试图获得通知。“也许我可以编辑得更尖锐一些。”雷蒙德陈,但似乎确实回答了我关于齐的问题