【问题标题】:How to use await in asp.net webapi post method如何在asp.net webapi post方法中使用await
【发布时间】:2017-07-18 04:32:34
【问题描述】:

我正在使用实体框架和 asp.net Web API。我想让下面的方法异步,但我不知道在下面的代码中在哪里使用 await。

[HttpPost]
public async Task<IHttpActionResult> CreateAccount([FromUri]string fullname, string email, string cnic,string username,string password, string logrol )
{

    using (var entity = new Smock_DBEntities())
    {
        Person pr = new Person();
        pr.Full_Name = fullname;
        pr.Email = email;
        pr.CNIC = cnic;
        entity.Persons.Add(pr);
        entity.SaveChanges();
        int prID = entity.Persons.Where(per => per.CNIC == cnic).Select(per => per.Person_ID).First();

        Login log = new Login();
        log.Person_ID = prID;
        log.Username = username;
        log.Password = password;
        log.Login_Role = logrol;
        entity.Logins.Add(log);
        entity.SaveChanges();

        return Ok();
    }         
}

【问题讨论】:

标签: asp.net-web-api async-await


【解决方案1】:

用可能的地方(3 个地方)将其作为答案,您可以在代码 sn-p 中放置 await。

[HttpPost]
public async Task<IHttpActionResult> CreateAccount([FromUri]string fullname, string email, string cnic,string username,string password, string logrol )
{

    using (var entity = new Smock_DBEntities())
    {
        Person pr = new Person();
        pr.Full_Name = fullname;
        pr.Email = email;
        pr.CNIC = cnic;
        entity.Persons.Add(pr);
        await entity.SaveChangesAsync();
        int prID = await entity.Persons.Where(per => per.CNIC == cnic).Select(per => per.Person_ID).FirstAsync();

        Login log = new Login();
        log.Person_ID = prID;
        log.Username = username;
        log.Password = password;
        log.Login_Role = logrol;
        entity.Logins.Add(log);
        await entity.SaveChangesAsync();

        return Ok();
    }         
}

【讨论】:

    猜你喜欢
    • 2014-07-02
    • 2017-12-30
    • 2013-03-26
    • 2012-10-18
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 2018-09-13
    相关资源
    最近更新 更多