가능한 경우이 작업을 수행하려면 2 개의 병렬 작업이 있어야하는 MVC 컨트롤러 작업 메서드 (POST)가 있고 그 중 하나를 완료하면 결과를 기반으로 뷰를 반환해야합니다. 완료된 작업.Asp.net MVC 컨트롤이 2 비동기 작업을 수행합니다
작업은 비동기 옵션이있는 웹 서비스가 아닙니다. 파일 묶음을 만드는 것보다 더 많이한다고 가정합니다. 나는 정말로이 일처럼 단순한 일을하고 싶다.
private static string DoStuff(int sleepTime, string input)
{
Thread.Sleep(sleepTime);
return input;
}
작업 같은 것 -하지만이 올바른지 또는 없기 때문에하지 좀 더 자세한 정보가 필요하면
public async Task<string> DelayTimerCallAsync()
{
string msgs = DoStuff(Convert.ToInt32(
ConfigurationManager.AppSettings["DelayTimer"]),
"Timeout");
return msgs;
}
내 질문이 명확하지 않은 경우 알려줘 또는 '기다린다'만약 내가 해달라고 . 갱신 아래에서
제 2 개 작업이public Task<String> DelayTimerCallAsync(CancellationToken cancellationToken)
{
return Task.Run(() =>
{
String messages = null;
return DelayTimer();
}, cancellationToken);
}
public Task<String> BlazeCallAsync(CancellationToken cancellationToken)
{
return Task.Run(() =>
{
String messages = null;
return BlazeCall();
}, cancellationToken);
}
어떻게 그들에게 전화하고 Task.WhenAny(task1, task2)
을 사용할 수 있습니다처럼?
이전에도이 질문을하지 않았습니까? –
다소 불분명하지만,'async' /'task'을 사용하지 않으면 작업의 요점을 놓칠 수 있습니다. 인라인을 유지하거나 스레드를 사용할 수도 있습니다. –
@ AD.net. 나는이 질문을하기 전에 물어 보았다. 그리고 대답을 얻지 못했다. 나는 그것을 더 분명하게하려고 노력했다. – Praneeth