Tag: ihttpasynchandler

使用IHttpAsyncHandler异步调用WebService

这是基本设置。 我们有一个ASP.Net WebForms应用程序,其页面包含一个需要访问外部Web服务的Flash应用程序。 由于(安全我认为)Flash的限制(不要问我,我根本不是Flash专家),我们无法直接从Flash连接到Web服务。 解决方法是在ASP.Net中创建Flash应用程序将调用的代理,然后调用WebService并将结果转发回Flash应用程序。 WebSite虽然拥有非常高的流量,但问题是,如果Web服务完全挂起,那么ASP.Net请求线程将开始备份,这可能导致严重的线程饥饿。 为了解决这个问题,我决定使用专为此目的而设计的IHttpAsyncHandler 。 在其中,我将使用WebClient异步调用Web服务并将响应转发回来。 关于如何正确使用IHttpAsyncHandler的网上很少有样本,所以我只是想确保我做错了。 我在这里的示例节目中使用我的用法: http : //msdn.microsoft.com/en-us/library/ms227433.aspx 这是我的代码: internal class AsynchOperation : IAsyncResult { private bool _completed; private Object _state; private AsyncCallback _callback; private readonly HttpContext _context; bool IAsyncResult.IsCompleted { get { return _completed; } } WaitHandle IAsyncResult.AsyncWaitHandle { get { return null; } } Object IAsyncResult.AsyncState { […]