Поделиться через


Практическое руководство. Автономная работа со службами клиентских приложений

Обновлен: Ноябрь 2007

Службы клиентских приложений можно использовать в автономном режиме, когда службы приложений ASP.NET AJAX, которым подключается приложение недоступны. При этом пользователи смогут проходить проверку подлинности, извлекать роли, а также извлекать или сохранять пользовательские веб-параметры на основе локального кэша данных. В автономном режиме все запросы служб автоматически направляются в локальный кэш без необходимости изменения кода.

Значение состояния автономного режима сохраняется на жестком диске локального компьютера в папке, указанной в свойстве Application.UserAppDataPath. Это означает, что значение состояния автономного режима сохраняется для каждого пользователя и для каждого приложения. Когда приложение выполняется в автономном режиме все вызовы, которые в обычном режиме направлялись бы на удаленный сервер, обращаются к локальному кэшу. По умолчанию значения автономного режима хранятся в локальной файловой системе. Можно также настроить приложение на использование SQL Server или базы данных SQL Server Compact Edition, версия 3.5. Дополнительные сведения см. в разделе Практическое руководство. Настройка служб клиентских приложений.

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

Перевод приложения в автономный режим

  1. Убедитесь, что приложение правильно настроено для использования служб клиентских приложений в автономном режиме. Описание см. в разделе Практическое руководство. Настройка служб клиентских приложений. Как правило, потребуется выбрать параметр Сохранить хэш пароля в локальной системе для входа в автономном режиме, что позволит пользователям проходить проверку подлинности в автономном режиме приложения. Может также возникнуть необходимость изменения значения Срок действия кэша службы ролей на большее значение, чтобы предотвратить истечение срока действия данных в автономном режиме.

  2. Установите для свойства 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. Кроме того, можно обновить локальный кэш веб-параметров и удаленную службу веб-параметров с любыми изменениями, выполненными в автономном режиме. Пример кода, демонстрирующий это, см. в разделе Пошаговое руководство. Использование служб клиентских приложений.

См. также

Задачи

Практическое руководство. Настройка служб клиентских приложений

Пошаговое руководство. Использование служб клиентских приложений

Основные понятия

Общие сведения о службах клиентских приложений

Ссылки

ConnectivityStatus.IsOffline

Другие ресурсы

Службы клиентских приложений