2016-07-10 16 views
0

我有一個帶有兩個端點和五個Web服務的WCF應用程序。爲了驗證我的WCF應用程序,將調用另一個Web服務。我的應用程序在認證後調用另一個Web服務,具體取決於請求的類型。問題是,對於每個傳入的請求,我的WCF應用程序至少調用兩個不同的Web服務。最近傳入的請求數量增加並導致消費者收到Timeout錯誤。我的CPU利用率大麥達到了10%。我在我的Web服務中增加了maxconnection屬性。在WCF應用程序中增加傳出請求的最大數量

我將我的端點分隔爲兩個網站。它增加了要處理的吞吐量(並且它幾乎解決了Timeout問題)。不過,我猜測每個網站的IIS傳出請求都有限制。如果有,它是什麼,以及如何增加它?

注: 我有另一個問題here我想這兩個問題都源於一件事。

+0

您是否確定了實際存在的瓶頸? – stuartd

+0

是的。正如我所提到的,我認爲每個網站的傳出請求數量都是有限的。而不是我看不到另一個原因。 – David

+1

你看過你的服務的'[ConcurrencyMode](https://msdn.microsoft.com/en-us/library/system.servicemodel.concurrencymode(v = vs.110).aspx)'嗎?也許你正在逐一處理客戶電話? –

回答

2

可能改變你的WCF服務的ConcurrencyMode可以幫助你。只需將該屬性添加到您的服務行爲。你將不得不確保你的代碼是線程安全的,因爲這會讓你的應用程序變成多線程的。

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)] 
public class MyService : IMyService 
{ 
    // Implementation 
} 
相關問題