Преобразовать метод для использования асинхронного
Я преобразовываю процесс аутентификации для поддержки асинхронной работы, и VS 2015 IDE предупреждает меня следующим сообщением:В асинхронном методе отсутствуют операторы «ожидания», и он будет работать синхронно ... так далее...
Во всяком случае, код подключается к хранилищу LDAP и проверяет учетную запись пользователя и т. Д. Я пробовал разные вещи с await, но мне здесь чего-то не хватает. Я вернул код к тому, что было раньше ... Я был бы признателен за любые рекомендации по правильной поддержке асинхронности ...
Вот код:
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;
}