0
WCF 호출에서 데이터를 반환하는 일부 WCF 코드를 구현했지만 작동하지만 동기 동작합니다.ASP.net에서 비동기 적으로 WCF 호출 사용하지만 비동기 적으로 작동하지 않습니다.
IAsyncResult BeginGetAsyncData(object src, EventArgs args, AsyncCallback cb, object state)
{
_client = new ServiceReference1.Service1Client();
return _client.BeginGetPermissionsByStaffID("xxx", cb, state);
}
void EndGetAsyncData(IAsyncResult ar)
{
//ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
ServiceReference1.tblUser_Permission[] permissions = _client.EndGetPermissionsByStaffID(ar);
System.Threading.Thread.Sleep(2000);
dgResults.DataSource = permissions;
dgResults.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
PageAsyncTask task = new PageAsyncTask(BeginGetAsyncData, EndGetAsyncData, null, null);
Page.RegisterAsyncTask(task);
txtOut.Text = "Waiting...";
}
내가 보는 것은 2 초의 일시 중지입니다. 그런 다음 "대기 중"이라는 메시지가 나타납니다. 명시 적으로 새 스레드를 생성하지는 않지만 이해한다면 WCF 서비스를 비동기식으로 정의 할 때 필요하지 않습니다.
도움이 될 것입니다.
Doh! 그건 의미가 있습니다. 나는 그것이 당신에게 잠시 걸릴 수있는 몇 가지가 있다면 여전히 장점이 있다고 생각합니다. 사용자가 지연을 덜 볼 수 있도록 서버에서 시간을 단축 할 수 있습니다. 감사합니다. –