내가 ASP를 MVC 3 일하고, 내 응용 프로그램과 같은 몇 가지 방법으로 비동기 컨트롤러를 만들었습니다ASP를 MVC와 웹 API 광고 비동기 컨트롤러
public Task<HttpResponseMessage> PostActionAsync()
{
return Task<HttpResponseMessage>.Factory.StartNew(() =>
{
var result = GetSomeResult();
return Request.CreateResponse(HttpStatusCode.Created, result);
});
}
는 다음과 같이 웹 API에서 비동기 작업을 만들 수있는 좋은 아이디어는 그것을 아니면 더 좋은 방법은 존재가 :처럼 나는 그것의 현재 시간에서 MVC 3에서와 같이 비동기 행동과 컨트롤러를 만드는 데 필요한 API를 본다?
UPD. 또한, 내가 사용할 경우
public async Task<HttpResponseMessage> ActionAsync()
{
var result = await GetSomeResult();
return Request.CreateResponse(HttpStatusCode.Created, result);
}
이 전체 작업은 백그라운드 스레드에서 작동합니까? 내 GetSomeResult()
기능을 기다리는 방법은 무엇입니까? Task<HttpResponseMessage>
이 (가) 기다리는 것은 아닙니다.
행동은 어땠 을까? 나는이 http://pastebin.com/NeRKfqDp를 사용하려고 시도했다. 그리고 나의 모든 'POST'쿼리는 "404"를 리턴한다. –
Factory.StartNew는 추가 스레드를 회전시킬 때 그 컨텍스트에서 확실히 틀리다. 스레드 풀에서 작업) 현재 현재 요청을 처리하는 스레드 외에. EventModel.PrepareModel이 작업을 반환합니까? –
'EventModel.PrepareModel'은 void 함수입니다. 그래서, 'Factory.StartNew'가 잘못 되었다면 비동기 요청을하기 위해 무엇을 사용해야합니까? –