【发布时间】:2021-06-13 23:42:45
【问题描述】:
我有一个小实用程序方法,用于在 using 语句中实例化我的 DataContext。我想将它与异步方法调用一起使用,但是,DataContext 在方法返回之前被释放。正确的使用方法是什么?
这是方法(和重载)
public void Try(Action<IDataServices> method)
{
using (IDataServices client = GetClient())
{
method(client);
}
}
public TResult Try<TResult>(Func<IDataServices, TResult> method)
{
using (IDataServices client = GetClient())
{
return (TResult)method(client);
}
}
这是我目前的使用方式(失败):
Model m = await ClientResolver.Try(async x => await x.GetModelByIDAsync(modelID));
【问题讨论】:
-
你的
Try应该是Task。
标签: c# async-await