7
我有一个使用async/await
功能的.NET 4.5 proj。调试.NET异步/等待函数时无法检查变量
当我尝试检查/快速监视一个的await语句后变量引用,我得到以下几点:
The name 'id' does not exist in the current context
知道如何解决这个问题,所以我可以调试呢?
Edit--这里的代码
[Fact]
public async Task works_as_expected()
{
var repo = Config.Ioc.GetInstance<IAsyncRepository<Customer>>();
var work = Config.Ioc.GetInstance<IUnitOfWork>();
Customer c= new Customer()
{
FirstName = "__Micah",
LastName = "__Smith_test",
DateCreated = DateTime.Now,
DateModified = DateTime.Now,
Email = "[email protected]",
Phone = "7245551212"
};
var id=await repo.Insert(c);
// i can't inspect the value of id
Assert.True(id > 0);
}
你什么时候想检查ID?它真的在'var id ...'行后面吗? – 2013-02-27 15:51:42
确实是这样 - 这是遍及我的所有代码的事情,这只是一个非常简化的代码版本,它也会发生。我希望得到一个解释,为什么它发生在微观将最终也告诉我为什么它发生在宏 – Micah 2013-02-27 15:54:15
这对我有用。我创建了一个超级笨拙的实现。 'var id = await Task.Factory.StartNew(()=> {System.Threading.Thread.Sleep(1000); return 1;}); return id;' –
2013-02-27 16:09:35