Я работаю над приложением, которое использует .net remoting для 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 секунд, прежде чем выдать веб-исключение (показано внизу).Нет ошибки "location", поэтому я не уверен, куда поместить блок try \ catch.
Как лучше всего определить, что мой сервер не работает?
Спасибо!