Convierta un método para usar asíncrono
Estoy convirtiendo un proceso de autenticación para admitir asíncrono y VS 2015 IDE me advierte con el siguiente mensaje:El método asíncrono carece de operadores 'en espera' y se ejecutará sincrónicamente ... etc ...
De todos modos, el código se conecta a una tienda LDAP y verifica la cuenta de un usuario, etc. He intentado varias cosas con aguardar, pero me falta algo aquí. Puse el código de nuevo a lo que era antes. Agradecería cualquier orientación para que sea compatible con async correctamente ...
Aquí está el código:
public async Task<User> GetAsyncADUser(PrincipalContextParameter param)
{
try
{
if (UseLDAPForIdentityServer3)
{
using (var pc = new PrincipalContext(ContextType.Domain, param.ADDomain, param.ADServerContainer, param.ADServerUser, param.ADServerUserPwd))
{
UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(pc, param.UserNameToValidate);
if (userPrincipal != null)
{
bool isvalid = pc.ValidateCredentials(userPrincipal.DistinguishedName, param.UserPasswordToValidate, ContextOptions.SimpleBind);
if (isvalid)
{
User user = new User { ad_guid = userPrincipal.Guid.ToString(), Username = param.UserNameToValidate, Password = param.UserPasswordToValidate };
return user;
}
}
}
}
}
catch (Exception ex)
{
throw;
}
return null;
}