Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Контроль успешности доставки сообщений / 10 сообщений из 10, страница 1 из 1
05.02.2018, 13:55
    #39596745
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контроль успешности доставки сообщений
Всем привет, у меня есть сервис в котором реализован метод, вызывающий Callback несколько других приложений.
Код: c#
1.
2.
         foreach (NotifyUser u in SubscribersList)
                u.operationContext.GetCallbackChannel<IinfoTabloCallback>().infoTabloCallback(p);



Вопрос в следующем-как можно получить информацию о том, что все CallBack'и успешно получены?
Первый очевидный вариант- чтобы CallBack возвращал код успешного получения. Однако это не работает в том случае, когда коллбэк получен клиентом успешно, а вот возврат клиентом кода успешного получения сообщения по каким-либо причинам до сервиса не дошел. И получится, что сервис думает, что сообщение не доставлено, хотя на клиенте оно успешно получено. Есть ли какие-либо средства для решения этой проблемы ? Спасибо
...
Рейтинг: 0 / 0
08.02.2018, 16:00
    #39599171
Нахлобуч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контроль успешности доставки сообщений
Проблема двух генералов. Решения не имеет.
...
Рейтинг: 0 / 0
17.02.2018, 09:33
    #39603416
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контроль успешности доставки сообщений
vb_subВсем привет, у меня есть сервис в котором реализован метод, вызывающий Callback несколько других приложений.
Код: c#
1.
2.
         foreach (NotifyUser u in SubscribersList)
                u.operationContext.GetCallbackChannel<IinfoTabloCallback>().infoTabloCallback(p);



Вопрос в следующем-как можно получить информацию о том, что все CallBack'и успешно получены?
Первый очевидный вариант- чтобы CallBack возвращал код успешного получения. Однако это не работает в том случае, когда коллбэк получен клиентом успешно, а вот возврат клиентом кода успешного получения сообщения по каким-либо причинам до сервиса не дошел. И получится, что сервис думает, что сообщение не доставлено, хотя на клиенте оно успешно получено. Есть ли какие-либо средства для решения этой проблемы ? Спасибо

гарантированных решений нет...

пусть сервер долбит одним и тем же вызовом, пока клиент не пришлет подтверждение, хотя это не хорошо
...
Рейтинг: 0 / 0
17.02.2018, 13:24
    #39603445
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контроль успешности доставки сообщений
vb_subОднако это не работает в том случае, когда коллбэк получен клиентом успешно, а вот возврат клиентом кода успешного получения сообщения по каким-либо причинам до сервиса не дошел.что то странное.
Почему HTTP односторонняя связь, однако код возврата HTTP.OK = 200 мы получаем?
...
Рейтинг: 0 / 0
19.02.2018, 11:24
    #39604035
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контроль успешности доставки сообщений
Petro123,
чтобы работала дуплексная связь с Http нужно использовать wcDualHttpBinding- это двухсторонняя связь. Конкретно в моем случае-nettcpbinding.
...
Рейтинг: 0 / 0
19.02.2018, 12:24
    #39604078
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контроль успешности доставки сообщений
vb_subPetro123,
чтобы работала дуплексная связь с Http нужно использовать wcDualHttpBinding- это двухсторонняя связь. Конкретно в моем случае-nettcpbinding.
Нет. Этот флаг из wcf ms для эмуляции вызова клиента из сервера.
Я говорил об обычном стандарте http - запрос и получил ответ.Т.е. запрос Get и получил либо код ошибки, либо сам ответ.
Т.е. почему у вас не работает этот механизм с кодом успешного получения с той стороны?
Как понять слова ниже?
vb_subПервый очевидный вариант- чтобы CallBack возвращал код успешного получения. Однако это не работает в том случае, когда коллбэк получен клиентом успешно, а вот возврат клиентом кода успешного получения сообщения по каким-либо причинам до сервиса не дошел.
IMHO
...
Рейтинг: 0 / 0
19.02.2018, 12:28
    #39604085
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контроль успешности доставки сообщений
Ролг Хупинпусть сервер долбит одним и тем же вызовом, пока клиент не пришлет подтверждение, хотя это не хорошо
Если правильно понял, то это для асинхронных ответов, либо когда клиент не может вызвать сервер сам.
...
Рейтинг: 0 / 0
19.02.2018, 13:55
    #39604166
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контроль успешности доставки сообщений
Petro123,
метод callback сделать не void, а например boolean, где возврат true означает успешность обработки клиентом сообщения.
...
Рейтинг: 0 / 0
19.02.2018, 14:42
    #39604221
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контроль успешности доставки сообщений
vb_subPetro123,
метод callback сделать не void, а например boolean, где возврат true означает успешность обработки клиентом сообщения.
Угу. Синхронный режим. Ответ сразу же.
Либо, если протокол позволяет отправляется ему адрес обратной связи чтобы потом ответил (асинхронно).
...
Рейтинг: 0 / 0
19.02.2018, 16:12
    #39604344
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контроль успешности доставки сообщений
vb_subPetro123,
чтобы работала дуплексная связь с Http нужно использовать wcDualHttpBinding- это двухсторонняя связь. Конкретно в моем случае- nettcpbinding .

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


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