将VS2012 .net 4.0项目升级到.net 4.5 async / await

时间:2014-07-19 08:42:22

标签: asp.net-mvc-4 async-await dapper

我有一个.net 4.0项目,我决定升级到.net 4.5,以便我可以使用async / await功能。我想在Dapper和Dapper Async中使用async / await。以下是我转换的方法之一:

    public async Task<Audit> GetAudit(int auditId)
    {
        using (SqlConnection connection = new SqlConnection())
        {
            connection.ConnectionString = ConfigurationManager.ConnectionStrings["AdnroidConnection"].ConnectionString;

            Task connectionOpenTask = connection.OpenAsync();

            await connectionOpenTask;

            Task<IEnumerable<Audit>> queryTask = connection.QueryAsync<Audit>("Reil_V1_GetAudit", new { AuditId = auditId }, commandType: System.Data.CommandType.StoredProcedure);

            IEnumerable<Audit> audit = await queryTask;

            return audit.SingleOrDefault();
        }
    }

在第一个await(await connectionOpenTask)上,我收到一个以mscorelib开头的NullReferenceException。此代码在新项目中完美运行。即使经过广泛的谷歌搜索,我找不到任何解释问题的方法?我通过将目标框架更改为.net 4.5来转换项目,然后更新web.config中的httpRuntime /编译节点以包含targetFramework属性。升级前没有安装nuget软件包。

有人可以帮忙吗?

0 个答案:

没有答案