4
이 코드를 작성하는 적절한 방법이 아니라는 것을 알고 있지만 여전히이 동작을 이해하고 싶습니다. 결과를 기다리지 않고 비동기 HTTP 요청을 할 때마다 요청이 종료 된 것 같습니다. (나는 바이올린에 그것을 보지 않는다).왜 ASP.NET은 비동기 요청을 종료합니까?
코드 샘플 : 나는에 코드를 변경하는 경우
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost.fiddlerhttpclient/");
var response = client.GetAsync("zzzz");
}
}
}
}
:
var response = client.GetAsync("zzzz").Result;
내가 피들러에서 볼 않습니다. 나는 왜 그런지 이해하지 못합니다. 요청이 여전히 어떻게 든 백그라운드에서 계속 처리 될 것이라고 기대할 것입니다. 그렇다면 왜 그렇지 않을까요?
결과를 '대기'하지 않습니다. 즉, 콜백을 등록하지 않은 것입니다. – Marco
@Marco - 네, 저는 알고 있습니다. 그러나 아무도 결과를 "듣고"있지 않더라도 어쨌든 요청이 진행될 것으로 기대합니다. 중단해서는 안됩니다. – BornToCode
하지만 당신은 당신의'HttpClient'를 그 URL을 가져 오기 시작한 직후 처분하고, 보류중인 모든 작업을 취소합니다. – Evk