WCF 控制台应用程序的性能问题

Performance issue on WCF Console Application

有一个 WCF 服务托管在 .Net 控制台应用程序中。客户端创建到具有回调的服务的双工通道。它以这种方式调用服务:

var task = Task<object>.Factory.FromAsync(clientRay.Proxy.BeginCalc, clientRay.Proxy.EndCalc, lst_RaySrvcDetails, state);

这里是服务控制台应用程序的主要方法:

static void Main(string[] args)
{
     ServiceHost srvcHost = new ServiceHost(serviceInstance, uriBase);
     //
     //Here the service is hosted
     //

     while(true)
     {
        ;
     }
}  

并且 MyService.cs 在以下方法中接收调用:

public IAsyncResult BeginCalc(List<MBSWaldram.DataAccessLayer.Framework.ServiceDetails> input,
                    AsyncCallback callback, object state)
{
   calcInput = input;

   // Create a task to do the work
   var task = Task<object>.Factory.StartNew(this.CalcTasks, state);

   return task.ContinueWith(res => callback(task));
}

现在,与 WCF Windows Form 应用程序相比,实际任务为 运行 的 CalcTasks 方法显示的性能较低。我能想到的原因之一是我使用 while(true){;} 无限循环的方式,这样应用程序就不会终止并等待来自客户端的调用。不确定这是最好的做法。出于某种原因,我无法使用 Windows 表格申请。

如果有人能阐明为什么这里存在性能问题,我将不胜感激。 谢谢

while (true) {;}真是倒霉的构造。在控制台应用程序中取 Console.ReadLine() 代替。应用程序将等待直到按下 Enter。