簡體   English   中英

WebAPI線程

[英]WebAPI Threading

所以我有一個在計算過程中有很長等待時間的函數。 我有一個需要調用此函數的端點,但它並不關心函數的完成。

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

它看起來不像computeLongFunction()返回任何東西,所以試試這個:

Thread longThread = new Thread(() => new Repository().computeLongFunction());
longThread.Start();

return Request.CreateResponse(HttpStatusCode.Ok);

聲明線程,以便您仍然能夠控制其生命周期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM