c# - WebAPI线程

标签 c# multithreading asp.net-web-api

所以我有一个函数在计算过程中有很长的等待时间。我有一个端点需要调用此函数,但它不关心函数是否完成。

public HttpResponseMessage endPoint
{
    Repository repo= new Repository();
    // I want repo.computeLongFunction(); to be called, however this endpoint
    // can return a http status code "ok" even if the long function hasn't completed.

    repo.computeLongFunction();

    return Request.CreateReponse(HttpStatusCode.Ok);
}

// If I make the function async would that work?
public class Repository
{ 
    public void compluteLongFunction()
    { 

    }
}

最佳答案

使用任务并行库 (TPL) 衍生出一个新线程。

Task.Run(() => new Repository().computeLongFunction());
return Request.CreateReponse(HttpStatusCode.Ok);

关于c# - WebAPI线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29614940/

相关文章:

java - 避免嵌套 if for null 和参数条件

c# - 调用方法的结果到主线程

java - 是否有必要对仅在删除操作时访问的列表进行同步

entity-framework - AutoMapper - 尝试在运行时将变量从 WEB API Controller 传递到 Automapper 配置

javascript - 如何在javascript中将八位字节流保存为zip?

c# - .NET HTTP 客户端。如何发布字符串值?

c# - 发送/接收 WiFi 流量数据

c# - 尝试/捕获异常

c# - 如何在不阻塞 UI 线程的情况下使任务超时?

c++ - 有没有办法查看哪个线程正在使用 gdb 打印到 stdout 或 stderr?