maxConcurrentSessions または maxConcurrentCalls が使い果たされた場合、つまりサービスへの呼び出しがキューに入れられた場合、サーバー側で検出する方法はありますか? できればログに残したい。あるいは、IIS は何か助けを提供していますか?
質問する
485 次
2 に答える
0
現在の同時セッションを検出するには、静的intフィールドをServiceClassに追加してみてください。
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サービスの場合、この値はアクティブなセッションインスタンスの数と同じです。
したがって、最大値を超えるかどうかを確認できます。
于 2012-11-12T20:58:40.390 に答える