2
저는 어떻게 Task가 작동하는지 배우기 시작했으며 흥미로운 사례를 얻었습니다. 나는이 HttpTaskAsyncHandler하지만 ProcessRequestAsync 안에 내 코드가 고칠 수 일부 작업HttpTaskAsyncHandler 및 HTTP 컨텍스트
public class MyAsyncHandler : HttpTaskAsyncHandler, IReadOnlySessionState
{
public override async Task ProcessRequestAsync(HttpContext context)
{
//can use HttpContext here
await MyJob("data");
//can use HttpContext here
}
public async Task MyJob(string data)
{
var func = Task.Factory.StartNew(() => Process(data));
await func;
}
public string Process(string context)
{
**//can't use HttpContext here**
Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
}
}
에 호출하는 경우 내가있는 HttpContext에 acccess을 얻을 수 있습니까? 나는 Process 방법이 다른 트레드에서 호출되지만 어쨌든 이해할 것입니다. 감사합니다/
왜 작업을 스레드 풀로 푸시하고 나서 '대기'합니까? 왜 요청 스레드에서 작업을 수행하지 않습니까? –