1

동일한 솔루션 내에 WebApi 및 MVC5 앱이 있습니다. 내가 MVC5 애플 리케이션 호출 WebApi 벌금을 통해 이러한 디버깅 할 때 그러나 그것은 응답을받습니다.Visual Studio에서 WebApi를 디버깅하면 MVC 앱에 응답이 없습니다.

MVC5 앱 대신 콘솔 앱에서 똑같은 코드와 데이터를 사용하면 응답이 정상적으로 돌아옵니다.

mvc 앱에서 HTTP 응답이 반환되지 않습니다. 코드를 디버깅하고 호출이 web-api로 전달됩니다.

내가 사용하고있는 코드는 DoMyPost()를 호출하는 곳과 비슷합니다. HttpClient.PostAsJsonAsync (url, model);을 기다리는 응답이 없습니다.

public MyModel DoMyPost(ModelIN model) 
    { 
     return PostAsJsonAsync("url", model).Result; 
    } 

    protected async Task<MyModel> PostAsJsonAsync(string url, ModelIN model) 
    { 
     var response = await HttpClient.PostAsJsonAsync(url, model); 
     return await ReadMyModel(response); 
    } 

무엇이 잘못 될 수 있다고 생각하십니까?

저는 Windows 8 머신입니다.

=== 나는 내가 MVC 5 응용 프로그램을 디버깅 모두 MVC5 및 웹 API를 응용 프로그램 을 해고하고 브레이크 포인트 치면 내가 위에서 설명한 한 코드를 통해 전화를 걸보고 편집

web-api 내에서 응답이 생성 될 때까지 단계별로 진행할 수 있습니다.
그러면 MVC 5 앱이 대기 상태가되어 응답을받지 못하는 것 같습니다.

MVC5 앱을 콘솔 앱으로 교체했으며 응답이 정상적으로 수신되었습니다.

는 == 아래에 코드를 변경 FIX

내가 시도하고 여기에 무슨 일이 일어나고 있는지 짐작하기 위하여려고하고 문제

public MyModel DoMyPost(ModelIN model) 
    { 
     var response = await HttpClient.PostAsJsonAsync(url, model).Result; 
    return ReadMyModel(response).Result; 
    } 

    protected async Task<MyModel> PostAsJsonAsync(string url, ModelIN model) 
    { 
     var response = await HttpClient.PostAsJsonAsync(url, model); 
     return await ReadMyModel(response); 
    } 
+0

나는 혼란 스럽다. 어떤 방법으로 디버깅을 시도하고 있습니까? MVC5 또는 WebAPi? – trevorc

+0

게시물 수정보기 – Crusher

답변

0

을 고정

감사드립니다. MVC5 메서드 "DoMyPost"에 대한 동기 호출을 한 다음 PostAsJsonAsync에서 비동기 결과를 반환하려고하는 것 같습니다.

나는 당신이 정확히 무엇을해야하고 왜 그렇게해야하는지 생각해야한다고 생각합니다. MVC5에서 비동기 사용에 대해서는 post이 좋습니다.

또한 here은 MVC5와 WebApi의 차이점에 대한 빠르고 간결한 설명입니다. 하단 댓글을 참조하십시오.