Classe LoginOperation
Type d'opération retourné par des opérations Login
sur AuthenticationService.
Espace de noms: System.ServiceModel.DomainServices.Client.ApplicationServices
Assembly : System.ServiceModel.DomainServices.Client (dans system.servicemodel.domainservices.client.dll)
Utilisation
'Utilisation
Dim instance As LoginOperation
Syntaxe
'Déclaration
Public NotInheritable Class LoginOperation
Inherits AuthenticationOperation
public sealed class LoginOperation : AuthenticationOperation
public ref class LoginOperation sealed : public AuthenticationOperation
public final class LoginOperation extends AuthenticationOperation
public final class LoginOperation extends AuthenticationOperation
Exemple
L'exemple suivant montre un appel à la méthode Login avec les paramètres de connexion et une méthode de rappel qui accepte un objet LoginOperation comme paramètre.
Protected Overrides Sub OnNavigatedTo(ByVal e As System.Windows.Navigation.NavigationEventArgs)
SetControlVisibility(WebContext.Current.User.IsAuthenticated)
End Sub
Private Sub LoginButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim lp As LoginParameters = New LoginParameters(UserName.Text, Password.Password)
WebContext.Current.Authentication.Login(lp, AddressOf Me.LoginOperation_Completed, Nothing)
LoginButton.IsEnabled = False
LoginResult.Text = ""
End Sub
Private Sub LoginOperation_Completed(ByVal lo As LoginOperation)
If (lo.HasError) Then
LoginResult.Text = lo.Error.Message
LoginResult.Visibility = System.Windows.Visibility.Visible
lo.MarkErrorAsHandled()
ElseIf (lo.LoginSuccess = False) Then
LoginResult.Text = "Login failed. Please check user name and password."
LoginResult.Visibility = System.Windows.Visibility.Visible
ElseIf (lo.LoginSuccess = True) Then
SetControlVisibility(True)
End If
LoginButton.IsEnabled = True
End Sub
Private Sub SetControlVisibility(ByVal isAuthenticated As Boolean)
If (isAuthenticated) Then
LoginBorder.Visibility = System.Windows.Visibility.Collapsed
WelcomeText.Text = "Welcome " + WebContext.Current.User.Name
WelcomeText.Visibility = System.Windows.Visibility.Visible
LogoutButton.Visibility = System.Windows.Visibility.Visible
Else
LoginBorder.Visibility = System.Windows.Visibility.Visible
WelcomeText.Visibility = System.Windows.Visibility.Collapsed
LogoutButton.Visibility = System.Windows.Visibility.Collapsed
End If
End Sub
Private Sub LogoutButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
WebContext.Current.Authentication.Logout(AddressOf Me.LogoutOperation_Completed, Nothing)
End Sub
Private Sub LogoutOperation_Completed(ByVal lo As LogoutOperation)
If (Not (lo.HasError)) Then
SetControlVisibility(False)
Else
Dim ew As ErrorWindow = New ErrorWindow("Logout failed.", "Please try logging out again.")
ew.Show()
lo.MarkErrorAsHandled()
End If
End Sub
protected override void OnNavigatedTo(NavigationEventArgs e)
{
SetControlVisibility(WebContext.Current.User.IsAuthenticated);
}
private void LoginButton_Click(object sender, RoutedEventArgs e)
{
LoginParameters lp = new LoginParameters(UserName.Text, Password.Password);
WebContext.Current.Authentication.Login(lp, this.LoginOperation_Completed, null);
LoginButton.IsEnabled = false;
LoginResult.Text = "";
}
private void LoginOperation_Completed(LoginOperation lo)
{
if (lo.HasError)
{
LoginResult.Text = lo.Error.Message;
LoginResult.Visibility = System.Windows.Visibility.Visible;
lo.MarkErrorAsHandled();
}
else if (lo.LoginSuccess == false)
{
LoginResult.Text = "Login failed. Please check user name and password.";
LoginResult.Visibility = System.Windows.Visibility.Visible;
}
else if (lo.LoginSuccess == true)
{
SetControlVisibility(true);
}
LoginButton.IsEnabled = true;
}
private void SetControlVisibility(bool isAuthenticated)
{
if (isAuthenticated)
{
LoginBorder.Visibility = System.Windows.Visibility.Collapsed;
WelcomeText.Text = "Welcome " + WebContext.Current.User.Name;
WelcomeText.Visibility = System.Windows.Visibility.Visible;
LogoutButton.Visibility = System.Windows.Visibility.Visible;
}
else
{
LoginBorder.Visibility = System.Windows.Visibility.Visible;
WelcomeText.Visibility = System.Windows.Visibility.Collapsed;
LogoutButton.Visibility = System.Windows.Visibility.Collapsed;
}
}
private void LogoutButton_Click(object sender, RoutedEventArgs e)
{
WebContext.Current.Authentication.Logout(this.LogoutOperation_Completed, null);
}
private void LogoutOperation_Completed(LogoutOperation lo)
{
if (!lo.HasError)
{
SetControlVisibility(false);
}
else
{
ErrorWindow ew = new ErrorWindow("Logout failed.", "Please try logging out again.");
ew.Show();
lo.MarkErrorAsHandled();
}
}
Hiérarchie d'héritage
System.Object
System.ServiceModel.DomainServices.Client.OperationBase
System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationOperation
System.ServiceModel.DomainServices.Client.ApplicationServices.LoginOperation
Sécurité des threads
Tous les membres publics statiques (Partagés dans Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plateformes
Plateformes de développement
Windows XP Édition familiale, Windows XP Professionnel, Windows Server 2003 , Windows Server 2008 et Windows 2000
Plateformes cibles
Change History
Voir aussi
Référence
Membres LoginOperation
Espace de noms System.ServiceModel.DomainServices.Client.ApplicationServices