English 中文(简体)
伙伴关系中多个并行的网络服务要求。 NET子网
原标题:Multiple concurrent webservice requests in ASP.NET using threads

我需要同时向网络服务提出多重要求。 我想为每一项请求打下一条线。 可以在伙伴关系中做到这一点。 NET v3.5?

Example:

for(int i = 0; i<=10; i++)
{
   "Do each Request in a separate thread..."
}
最佳回答

以下模式可用于将多项申请作为<代码>ThreadPool中的工作项目。 它还将等待所有这些工程项目在进行之前完成。

int pending = requests.Count;
var finished = new ManualResetEvent(false);
foreach (Request request in requests)
{
  Request capture = request; // Required to close over the loop variable correctly.
  ThreadPool.QueueUserWorkItem(
    (state) =>
    {
      try
      {
        ProcessRequest(capture);
      }
      finally
      {
         if (Interlocked.Decrement(ref pending) == 0) 
         {
           finished.Set();  // Signal completion of all work items.
         }
      }
    }, null);
}
finished.WaitOne(); // Wait for all work items to complete.

也可下载Reactive extensions Backport for 3.5,然后使用Parallel。 做同样的事情。

问题回答

While the oportunities to what you can use vary depending of what and where you would like to use paralelism in your code. I would suggest that you start off by using the new Task class from .NET 4.0. Example would be:

Task backgroundProcess = new Task(() =>
                {
                    service.CallMethod();
                });

这将促使你开始。 之后,我建议你做一些读物,因为这是一个非常广泛的主题。 查询这一联系:

rel=“nofollow”>http://www.albahari.com/threading/

如果网络服务电话过于仓促,我看不出有多条read子会取得什么成就。

表3.5 用户工作 项目方法。 网上的例子很多。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签