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


ConnectivityStatus.IsOffline Свойство

Определение

Возвращает или задает значение, позволяющее определить, пребывает ли приложение в автономном режиме.

public:
 static property bool IsOffline { bool get(); void set(bool value); };
public static bool IsOffline { get; set; }
static member IsOffline : bool with get, set
Public Shared Property IsOffline As Boolean

Значение свойства

Если приложение находится в автономном режиме, значение true, если нет, значение false.

Примеры

В следующем примере кода показано, как использовать это свойство для обновления состояния автономного режима в зависимости от значения флажка. В этом примере CheckedChanged обработчик событий обновляет состояние автономного режима. Если пользователь устанавливает для приложения состояние "в сети", обработчик событий пытается повторно проверить пользователя. Однако если сервер проверки подлинности недоступен, обработчик событий возвращает приложение в автономное состояние.

private void workOfflineCheckBox_CheckedChanged(
    object sender, EventArgs e)
{
    ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked;
    if (!ConnectivityStatus.IsOffline)
    {
        try
        {
            // Silently re-validate the user.
            ((ClientFormsIdentity)
                System.Threading.Thread.CurrentPrincipal.Identity)
                .RevalidateUser();

            // If any settings have been changed locally, save the new
            // new values to the Web settings service.
            SaveSettings();

            // If any settings have not been changed locally, check 
            // the Web settings service for updates. 
            Properties.Settings.Default.Reload();
        }
        catch (System.Net.WebException)
        {
            MessageBox.Show(
                "Unable to access the authentication service. " +
                Environment.NewLine + "Staying in offline mode.",
                "Warning", MessageBoxButtons.OK, 
                MessageBoxIcon.Warning);
            workOfflineCheckBox.Checked = true;
        }
    }
}
Private Sub workOfflineCheckBox_CheckedChanged( _
    ByVal sender As Object, ByVal e As EventArgs) _
    Handles workOfflineCheckBox.CheckedChanged

    ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked
    If Not ConnectivityStatus.IsOffline Then

        Try

            ' Silently re-validate the user.
            CType(System.Threading.Thread.CurrentPrincipal.Identity,  _
                ClientFormsIdentity).RevalidateUser()

            ' If any settings have been changed locally, save the new
            ' new values to the Web settings service.
            SaveSettings()

            ' If any settings have not been changed locally, check 
            ' the Web settings service for updates. 
            My.Settings.Reload()

        Catch ex As System.Net.WebException

            MessageBox.Show( _
                "Unable to access the authentication service. " & _
                Environment.NewLine + "Staying in offline mode.", _
                "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            workOfflineCheckBox.Checked = True

        End Try

    End If
End Sub

Комментарии

При установке IsOffline свойства ConnectivityStatus класс кэширует значение в локальную файловую систему. Поставщики клиентских служб в System.Web.ClientServices.Providers пространстве имен проверяют это значение, чтобы определить, следует ли использовать автономный кэш данных вместо попытки получить доступ к связанным службам проверки подлинности Microsoft Ajax, ролей и профилей.

Применяется к

См. также раздел