gpt4 book ai didi

.net - 如何在ASP.NET MVC应用程序中的线程上放置代码?

转载 作者:行者123 更新时间:2023-12-03 13:04:57 32 4
gpt4 key购买 nike

我有以下ActionResult方法:

public ActionResult MyMethod(string someXml)
{
//parse someXml
return new HttpStatusCodeResult(HttpStatusCode.Ok);
}

我需要立即返回HTTP状态代码。如果我将返回值放在Xml解析之前,则不会进行解析。我可以将解析扔到另一个线程上,以便立即发送返回值吗?

顺序如下:
//put xml parsing into method, create new thread and call parsing method
//do return

在ASP.NET MVC应用程序中运行另一个线程是否有任何副作用?还是有更好的选择?

最佳答案

由于这就像一个“即发即弃”类型的场景,因此真正需要的是启动另一个线程:

public ActionResult MyMethod(string someXml)
{
Task.Factory.StartNew( () => {
//parse someXml
} );

return new HttpStatusCodeResult(HttpStatusCode.Ok);
}

ASP.Net MVC提供了一个 AsyncController ,但这不适用于此处。当您希望保留长时间运行的操作的请求,并在完成后将某些内容返回给客户端而又不阻塞应用程序池线程时,此功能很有用。

关于.net - 如何在ASP.NET MVC应用程序中的线程上放置代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20432688/

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