Привет, я сейчас создаю спокойную службу с WCF, эта услуга, вероятно, будет потребляться не менее 500 человек в любой момент времени. Какие настройки мне нужно установить, чтобы справиться с этим. Пожалуйста, дайте мне какие-то вопросы и подсказки, спасибо.Создание службы WCF Restful, проблемы с параллелизмом
Вот пример того, что у меня до сих пор;
[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 (это просто значение по умолчанию), или вам может потребоваться купить дополнительные серверы, но архитектура очень хорошо масштабируется –