ASP.Net Webサイトをよりスケーラブルにしようとしていますが、WCFメソッドへの非同期呼び出しが完了する前にWeb要求を受信するASP.Netスレッドがスレッドプールに返されるかどうか、またはこのスレッドは非同期呼び出しが終了するのを待ちます。
WCFメソッドへの非同期呼び出しは、完了するまでに約20〜40秒かかります。
編集1:私のコードはページコードの以下のとおりです-非同期WCFメソッドを呼び出しているところから。WCFメソッドはWCF側で非同期であり、このページのコードビハインドから非同期で呼び出されています。
protected void Page_Load(object sender, EventArgs e)
{
using (ABCService.ServiceClient sc = new ABCService.ServiceClient())
{
// List<ABCService.Product> products = sc.GetDocSummary("Vend1", null, false);//this is synchronous call from client
sc.BeginGetProducts("Vend1",GetProductsCallback, sc);//this is asynchronous call from WCF
}
}
protected void GetProductsCallback(IAsyncResult asyncResult)
{
List<ABCService.Product> products = ((ABCService.ServiceClient)asyncResult.AsyncState).EndGetProducts(asyncResult); //this will call the WCF EndGetProducts method
}