我们有一个远程单独服务器在一个单独的Windows服务中运行(让我们称她的RemotingService).RemotingService的客户端是ASP.NET实例(很多).
目前,客户端远程调用RemotingService并在RemotingService调用被服务时阻塞.但是,远程服务变得越来越复杂(具有更多RPC调用和复杂算法),asp.net工作线程被阻塞了相当长的时间(4-5秒).
根据这篇msdn文章,这样做不会很好地扩展,因为每个远程RPC都阻止了asp.net工作线程.它建议切换到异步处理程序以释放asp.net工作线程.
异步处理程序的目的是释放ASP.NET线程池线程,以便在处理程序处理原始请求时为其他请求提供服务.
这看起来很好,除了远程调用仍然从线程池中占用一个线程.这是与asp.net工作线程相同的线程池吗?
我应该如何将我的远程单例服务器转换为异步系统,以便释放我的asp.net工作线程?
我可能错过了一些重要信息,如果您还有其他任何需要知道的问题,请告诉我.