我正在开发一个使用 .net 远程处理 IPC 的应用程序。
当我的客户端应用程序启动时,它使用以下代码连接到服务器:
chnl = gcnew HttpChannel();
ChannelServices::RegisterChannel(chnl, false);
IPCObjectInstance = (BaseRemoteObject)Activator.GetObject(
typeof(BaseRemoteObject),
"http://localhost:1237/MyRemoteObject.soap");
而且,当我进行函数调用时,我使用以下代码:
BaseRemoteObject.GetFileTextDelegate svd = new BaseRemoteObject.GetFileTextDelegate(IPCObjectInstance, BaseRemoteObject.GetFileText);
AsyncCallback callback = new AsyncCallback(this, &ClientGUI.RecievedStringText);
IAsyncResult arValSet = svd.BeginInvoke(callback, null);
这段代码按原样工作得很好。但是,我希望我的客户端在启动时检测服务器是否正在运行,并显示相应的错误消息。
当服务器未运行时,客户端会等待大约 3 秒,然后抛出 Web 异常(显示在底部)。没有错误“位置”,所以我不确定在哪里放置 try\catch 块。
检测我的服务器未运行的最佳方法是什么?
谢谢!