Показать прогресс сервера - PullRequest
0 голосов
/ 25 марта 2011

У меня есть форма входа, через которую пользователь будет входить в мое приложение. У меня есть сервер, чьи услуги сделаны в WCF. Я использую сервисы на сервере для аутентификации пользователя. мне нужно отобразить время выполнения сервера на стороне клиента. как это возможно ??. помогите

Спасибо заранее.

Ответы [ 2 ]

1 голос
/ 25 марта 2011

А как можно измерить прогресс на сервере? Прогресс обычно показан для обработки, которая может быть измерена. Например, если вам нужно обработать 1000 записей, вы можете показать прогресс, но если вам нужна аутентификация пользователя, вы просто не сможете этого сделать, потому что в обработке нет постоянного измеримого приращения. Более того, измерение прогресса требует дуплексной связи = клиент запросит что-то, а сервер отправит обратные вызовы, сообщающие о приращениях. Но сервер может отправить обратный вызов только тогда, когда клиент аутентифицирован, поэтому вы не можете отправить ход аутентификации обратно клиенту. Btw. проверка подлинности должна занимать не более нескольких секунд, поэтому нет причин показывать прогресс. Используйте анимированный GIF (в случае веб-приложения) или измените курсор (в случае WinForms или WPF), чтобы показать обработку.

0 голосов
/ 25 марта 2011

Если вы контролируете и можете изменить службу WCF, то одной из возможностей будет сделать ее дуплексной, и служба будет отправлять информацию о ходе выполнения клиенту.

См. Здесь для получения дополнительной информации о дуплексных службах

Другой возможностью было бы асинхронно вызывать операцию входа в систему с клиента и предоставлять метод в службе WCF для опроса прогресса от клиента. Для получения информации о вызове Сервисных операций асинхронно, пожалуйста, посмотрите здесь .

Или, может быть, самый простой подход, вызвать асинхронно операцию входа в систему с клиента и представить пользователю диалог с некоторой анимацией и «Вход ... Пожалуйста, подождите!»

Если честно, я бы выбрал простой подход ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...