1

是否可以在 SolrNET 中进行遵循 APM(开始,结束)模式的异步操作?我需要在我的 Asp.NET Web 应用程序中对不同的 Solr 搜索索引进行多次异步调用,并且我试图通过使用非阻塞线程来减少线程池的负载。请指教。谢谢。

4

1 回答 1

1

至少查看SolrNet 源代码,虽然 IHttpWebRequest 接口包括 Begin/End 对,但在接口(如 IsolrConnection)中没有使用/暴露更高的对,所以 AFAICT 你必须更改(或重新实现)那些来支持它.

也就是说,可能值得按原样尝试(使用 Task.Run 等启动它们)并查看您是否真的最终使线程池挨饿 - 如果这样做,您可以重新配置它具有更高的限制,毕竟。:)

通过 TAP 使 SolrNet 基于任务可能是一项很大的工作,因为您通常需要通过堆栈的所有级别执行异步/任务(在 SolrNet 的情况下,可能应该只在针对 4.5 的分叉中执行此操作因此它可以依赖新的 HttpClient 及其基于任务的本机调用)

于 2012-08-22T02:42:02.833 回答