none
Можно ли в ASMX WebMethod-e узнать, что вызвавшее устройство более недоступно и результат возвращать некому? RRS feed

  • Вопрос

  • Доброго времени суток!

    Собственно, вопрос в заголовке. 

    Вебметод вызывается внешним устройством (мобильным телефоном) и ждёт внутреннего обновления данных. Обновятся - отправит телефону, не обновятся - через 5 минут вернёт пустую строку и будет ждать очередного запроса. Все 5 минут метод спит (Thread.Sleep), просыпаясь каждые полсекунды, проверить обновление данных.
    Так вот, можно ли при очередном просыпании установить (через Context.Request или ещё как-то), что канала уже нет, устройство отвалилось?

    Нагуглить не смог, т.к. не смог правильно составить англоязычный запрос.

    Подскажите, плиз, кто знает.

    16 октября 2019 г. 10:40

Ответы

Все ответы

  • Нашёл сам.

    Context.Response.IsClientConnected

    • Помечено в качестве ответа SvarogichRed 16 октября 2019 г. 13:43
    16 октября 2019 г. 13:43
  • Спасибо, что отписались с решением!

    Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    17 октября 2019 г. 7:18
    Модератор
  • Я бы посоветовал вам посмотреть в сторону PUSH-based уведомлений, например SignalR. В вашем случае вы блокируете поток, тем самым в случае множества клиентов у вас начнётся "голодание потоков" (Thread Starvation).

    Сделаем содержимое сообщества лучше, вместе!

    27 октября 2019 г. 7:31
    Модератор