2010-07-10 85 views
1

如何最大限度提高我的wcf服务的性能?是否有可能采取多核的 优势?或多线程?高性能wcf

谢谢!

+0

是你的沟通表现真的是你的瓶颈吗? – 2010-07-12 09:17:57

+0

谢谢,安德烈亚斯。我不确定,需要配置文件。只是想知道如果这是瓶颈,我需要做些什么。 – Jacko 2010-07-13 18:24:01

回答

1

以下行为属性默认为最简单的(单线程)解决方案,将它们从其默认值更改为多线程(包括自托管服务)。

您可能也想看看InstanceContextModethis MSDN文章给出了WCF并发的起点。

+0

谢谢,狗耳朵。 – Jacko 2010-07-13 18:24:24

0

这是一个很难回答的非常广泛的问题。这将取决于您的服务在做什么以及如何实施。但作为一般的经验法则,您应该避免可能独占工作线程的长时间运行操作。

0

如果您在IIS中托管您的WCF服务,那么IIS会将每个调用放在它自己的线程中,为您提供服务器上的优势多核函数。

如果你想让一个调用在多个线程上运行,那么你需要在你的代码中自己编程。如果你的服务正在进行大量的计算,你只需要这个。

+1

仅当您将以下属性添加到服务实现[ServiceBehavior(ConcurrencyMode = ConcurencyMode.Multiple)]时。 – Przemek 2010-07-10 18:44:09

+0

谢谢,设拉子。我的服务是自我托管的。我如何将每个调用放置在自己的线程中进行自我托管? – Jacko 2010-07-10 22:44:56