2012-11-12 14 views
1

如果我的maxConcurrentSessions或maxConcurrentCalls已用盡,即對服務的調用是否已排隊,是否有任何方法可以在服務器端進行檢測?如果可以的話我想記錄下來。另外,IIS是否提供任何幫助?檢測WCF服務是否受到限制

回答

0

檢測當前的併發會話,你可以嘗試一個靜態的int字段添加到您的服務類:

public class MyService : IMyService, IDisposable 
{ 
    // Service Instance Count 
    private static int _NumberOfInstances; 

    public MyService() 
    { 
     MyService._NumberOfInstances++; 
    } 

    public void Method1() 
    { 
     // ... 
    } 

    public void Dispose() 
    { 
     MyService._NumberOfInstances--; 
    } 
} 

根據定義: ConcurrentInstances是在給定的時間分配的服務實例的數量。當它是PerCall服務時,該值與併發呼叫的數量相匹配。對於PerSession服務,此值等於活動會話實例的數量。

所以你可以檢查你是否會超過你的最大值。

+0

你已經試過了嗎? – Christian