powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Удалённый ответ. Remoting
7 сообщений из 7, страница 1 из 1
Удалённый ответ. Remoting
    #34642440
Фотография goodbit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть след. код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
try
{
   IRemoteClass rem = (IRemoteClass)Activator.GetObject(
      typeof(IRemoteClass), "tcp://" + adress + "/Hi");
   if (rem != null) // Вот сдесь вопрос
   {
      this.threadingSending(rem);                                
   }
}
catch (System.Net.Sockets.SocketException ex)
{
   MessageBox.Show(ex.Message);                            
}
catch (System.Runtime.Remoting.RemotingException ex)
{
  MessageBox.Show(ex.Message);
}
//.....
private void threadingSending(IRemoteClass rem)
{
 Thread thread = new Thread(new ParameterizedThreadStart(rem.SecondaryUserCall));
 thread.Start((object)Function.Property.FullAdress);            
}


Теперь вопрос: если на удалённой машине открыта программа, т.е. прослушивается соотв. порт, то вроде как эта конструкция работает. Но если нет, то возникает глобальное исключкение SocketException, которое не уловить(как я понимаю из-за того, что выполнение метода я вывел в отдельный поток). Так, почему же всё равно регистрируется объект,т.е. почему объект rem не равен null??? Или как понять, что с таким объектом мы не сможем работать?

PS В поток пришлось вывести потому, что на клиенте должно появлятся тоже окошко статуса запроса на удалённую машину.
...
Рейтинг: 0 / 0
Удалённый ответ. Remoting
    #34644005
Фотография goodbit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, подскажите как на начальном уровне понять, что с удалённым объектом нельзя работать...
...
Рейтинг: 0 / 0
Удалённый ответ. Remoting
    #34644034
Sergey Tokarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через Application.ThreadException возникающее исключение нельзя отловить?
...
Рейтинг: 0 / 0
Удалённый ответ. Remoting
    #34644054
Фотография goodbit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, не пробовал.... щас посмотрю...
...
Рейтинг: 0 / 0
Удалённый ответ. Remoting
    #34644377
Фотография goodbit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за совет, но к сожалению это не помогло.

Если я уберу поток, то исключение SocketExseption зарегистрируется правильно и я нормально продолжу работу, но это не даст мне выполнение определённых действий на клиенте.. так как сам клинт будет ждать ответа с диалогового окна сервера...

Хотя сейчас я немного подправил архитектуру и создаю вывод диалогового окна на сервере уже в отджельном потоке.. тем самым решив проблему зависания(в ожидании ответа) и функциональности...

В принципе задачу вроде как решил, но всё равно интерестно - кроме как эксепшеном можно ли выявить, что с данным объектом мы работать не сможем, в связи отсутствием такового...(по моей логике должен возвращаться null, но таковое не происходит)
...
Рейтинг: 0 / 0
Удалённый ответ. Remoting
    #34644536
Activator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
goodbitActivator.GetObject() - это серверная активация объекта, при этом всегда возвращается прокси, но реальное создание объекта происходит при первом вызове методов через прокси. Так что если GetObject() не выбросил исключения, то это не значит, что объект реально можно создать .
...
Рейтинг: 0 / 0
Удалённый ответ. Remoting
    #34644983
Фотография goodbit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Activator goodbitActivator.GetObject() - это серверная активация объекта, при этом всегда возвращается прокси, но реальное создание объекта происходит при первом вызове методов через прокси. Так что если GetObject() не выбросил исключения, то это не значит, что объект реально можно создать .

ок, спасиб... обидно, что нельзя сразу понять есть ли реальный объект или нет(((
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Удалённый ответ. Remoting
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]