Практическое руководство. Автономная работа со службами клиентских приложений
Службы клиентских приложений можно использовать в автономном режиме, когда службы приложений Microsoft Ajax, которым подключается приложение недоступны. При этом пользователи смогут проходить проверку подлинности, извлекать роли, а также извлекать или сохранять пользовательские веб-параметры на основе локального кэша данных. В автономном режиме все запросы служб автоматически направляются в локальный кэш без необходимости изменения кода.
Значение состояния автономного режима сохраняется на жестком диске локального компьютера в папке, указанной в свойстве Application.UserAppDataPath. Это означает, что значение состояния автономного режима сохраняется для каждого пользователя и для каждого приложения. Когда приложение выполняется в автономном режиме все вызовы, которые в обычном режиме направлялись бы на удаленный сервер, обращаются к локальному кэшу. По умолчанию значения автономного режима хранятся в локальной файловой системе. Можно также настроить приложение на использование SQL Server или базы данных SQL Server Compact Edition, версия 3.5. Дополнительные сведения см. в разделе Практическое руководство. Настройка служб клиентских приложений.
В следующей процедуре описано, как перевести приложение в автономный режим, когда приложение настроено для использования служб клиентских приложений. Советы по тестированию функций служб клиентских приложений см. в разделе Пошаговое руководство. Использование служб клиентских приложений.
Перевод приложения в автономный режим
Убедитесь, что приложение правильно настроено для использования служб клиентских приложений в автономном режиме. Описание см. в разделе Практическое руководство. Настройка служб клиентских приложений. Как правило, потребуется выбрать параметр Сохранить хэш пароля в локальной системе для входа в автономном режиме, что позволит пользователям проходить проверку подлинности в автономном режиме приложения. Может также возникнуть необходимость изменения значения Срок действия кэша службы ролей на большее значение, чтобы предотвратить истечение срока действия данных в автономном режиме.
Установите для свойства static ConnectivityStatus.IsOffline значение true. В следующем примере кода продемонстрировано указание этого свойства в обработчике событий CheckBox.CheckedChanged, так чтобы пользователь мог войти в автономный режим или выйти из него.
Private Sub checkBox1_CheckedChanged( _ ByVal sender As Object, ByVal e As EventArgs) _ Handles checkBox1.CheckedChanged ConnectivityStatus.IsOffline = checkBox1.Checked End Sub
private void checkBox1_CheckedChanged(object sender, EventArgs e) { ConnectivityStatus.IsOffline = checkBox1.Checked; }
Отказоустойчивость
В примере кода в этом разделе показано простейшее применение автономного режима в клиентском приложении Windows. Может возникнуть необходимость дополнения кода, который будет выполняться после возврата приложения в обычный режим. Например, можно незаметно выполнить повторную проверку пользователя, чтобы убедиться, что вызовы удаленной службы не перестанут работать после истечения срока данных проверки подлинности в файлах Cookie. Кроме того, можно обновить локальный кэш веб-параметров и удаленную службу веб-параметров с любыми изменениями, выполненными в автономном режиме. Пример кода, демонстрирующий это, см. в разделе Пошаговое руководство. Использование служб клиентских приложений.
См. также
Задачи
Практическое руководство. Настройка служб клиентских приложений
Пошаговое руководство. Использование служб клиентских приложений
Ссылки
Основные понятия
Общие сведения о службах клиентских приложений