Dar*_*der 5 .net c# asynchronous httptaskasynchandler
public class FooHandler : HttpTaskAsyncHandler
{
public override async Task ProcessRequestAsync(HttpContext context)
{
return await new AdRequest().ProcessRequest();
// getting error here. "Return type of async type is void"
}
}
public class FooRequest
{
public async Task<String> ProcessRequest()
{
//return await "foo"; obviously nothing to wait here
}
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个异步处理程序,只想返回一个字符串.我怎样才能使这个工作?是否有使用Async方法和任务的简明参考?
几点:
await任意Task从返回,而不仅仅是那些async方法.async方法将返回值包装成Task<TResult>; 如果没有返回值,它们将返回值包装成一个Task.Task.FromResult如果你不需要async方法的开销.async必须使用await它时才制作方法.如果您不需要制作方法async,请不要.您可能会发现我的异步/等待介绍很有帮助.
public class FooHandler : HttpTaskAsyncHandler
{
public override Task ProcessRequestAsync(HttpContext context)
{
return new AdRequest().ProcessRequest();
}
}
public class AdRequest
{
public Task<String> ProcessRequest()
{
return Task.FromResult("foo");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5685 次 |
| 最近记录: |