こんにちは、私はWCFで安らかなサービスを作成していますが、いつでも少なくとも500人がこのサービスを利用する可能性があります。これに対処するために設定する必要のある設定。私にポイントとヒントをくれて、ありがとう。WCFの作成快適なサービス、並行性の問題
ここに私がこれまで持っていたもののサンプルがあります。
[ServiceBehavior(IncludeExceptionDetailInFaults = true, InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)]
これは呼び出されているメソッドの例です。
public UsersAPI getUserInfo(string UserID)
{
UsersAPI users = new UsersAPI(int.Parse(UserID));
return users;
}
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json, UriTemplate = "User/{UserID}")]
[WebHelp(Comment = "This returns a users info.")]
UsersAPI getUserInfo(string UserID);
返信いただきありがとうございます。私たちが大きく成長し、30000ユーザーのようなものがあった場合、同じ設定が適用されますか? – pmillio
+1、良い答え。上記の設定では、サービスインスタンスの外部で共有状態にアクセスする場合、スレッドの安全性についても心配する必要があります。また、サービスインスタンスに可変状態を格納しない場合は、最高のパフォーマンスを得るために 'InstanceContextMode.Single'と' ConcurrencyMode.Multiple'を使用することができます。 –
@pmillio:maxConcurrentCallsの数を増やす必要があるかもしれません(それはちょうどデフォルトです)、またはサーバーを追加購入する必要があるかもしれませんが、アーキテクチャは非常にスケールされます。 –