gpt4 book ai didi

c# - 如何使用 HttpTaskAsyncHandler

转载 作者:太空狗 更新时间:2023-10-29 22:33:27 28 4
gpt4 key购买 nike

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
}

}

我想制作一个异步处理程序,只想返回一个字符串。我怎样才能让这个工作?是否有使用异步方法和任务的简明引用?

最佳答案

几点:

  • 你可以await任何Task ,不仅仅是从 async 返回的那些方法。
  • async方法将它们的返回值包装到 Task<TResult> 中;如果没有返回值,它们会将返回值本身包装到 Task 中.
  • 有几种方便的方法可用,例如 Task.FromResult , 如果你不需要 async 的开销方法。
  • 只做一个方法async如果你必须使用 await在里面。如果您不需要制作方法 async , 不要。

你可以找到我的 async/await intro有帮助。

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");
}
}

关于c# - 如何使用 HttpTaskAsyncHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11876597/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com