Как вы можете видеть в приведенном ниже коде, я получаю следующие две ошибки, когда пытаюсь вызывать метод асинхронно из уровня данных.Ошибка метода async метода WebAPI
Как я могу вызвать метод асинхронно, не получая эти ошибки?
System.Runtime.CompilerServices.IAsyncStateMachine»не определен или
импортирован Не можешь найти все типы требуемых 'модификатора асинхронного'. вы нацелились на неверную версию фреймворка или не указали ссылку на сборку?
APIProject.DAL
public class Account : BaseLayer
{
public static Result SignIn(string userName, string userPass)
{
var inputParameters = new Dictionary<string, object>();
inputParameters.Add("IN_USERNAME", userName);
inputParameters.Add("IN_USERPASS", userPass);
var response = ListStoredProcedure(Procedure.SignIn, inputParameters);
var resultSet = new List<User>();
foreach (DataRow row in response.DataTable.Rows)
{
resultSet.Add(new User
{
UserId = row.GetVarchar("USERID"),
Fullname = row.GetVarchar("FULLNAME")
});
}
return new Result
{
HasResult = response.HasResult,
Message = response.Message,
ResultSet = resultSet
};
}
}
APIProject.WebAPI
using System.Threading.Tasks;
public class AccountController : ApiController
{
public async Task<Result> SignIn(LogInModel model)
{
Result r = APIProject.DAL.Account.SignIn(model.UserName, model.UserPass);
return await Task.Factory.StartNew<Result>(() => r);
}
}
Нет смысла использовать 'async' в вашем коде, как сейчас, он ничего не добивается. Это асинхронно, потому что вы можете. – Maarten