public override AuthenticationResult Authenticate(Session session)
{
if (session == null)
throw new ArgumentNullException("session");
session.UserAuthenticationSuccessReceived += Session_UserAuthenticationSuccessReceived;
session.UserAuthenticationFailureReceived += Session_UserAuthenticationFailureReceived;
try
{
session.SendMessage(new RequestMessageNone(ServiceName.Connection, Username));
session.WaitOnHandle(_authenticationCompleted);
}
finally
{
session.UserAuthenticationSuccessReceived -= Session_UserAuthenticationSuccessReceived;
session.UserAuthenticationFailureReceived -= Session_UserAuthenticationFailureReceived;
}
return _authenticationResult;
}