Xin chào, tôi đang trong quá trình tạo dịch vụ an toàn với WCF, dịch vụ có thể được tiêu thụ bởi ít nhất 500 người tại bất kỳ thời điểm nào. Tôi cần thiết lập những cài đặt nào để giải quyết vấn đề này. Xin vui lòng cho tôi bất kỳ điểm và lời khuyên, cảm ơn.Tạo WCF Dịch vụ an toàn, các vấn đề tương tranh
Đây là mẫu của những gì tôi có cho đến nay;
[ServiceBehavior(IncludeExceptionDetailInFaults = true, InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)]
Và đây là ví dụ về phương thức được gọi;
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);
Xin cảm ơn vì đã trả lời, các cài đặt tương tự vẫn áp dụng nếu chúng tôi phát triển lớn và có khoảng 30000 người dùng? – pmillio
+1, câu trả lời hay. Với các cài đặt trên bạn vẫn phải lo lắng về an toàn luồng nếu bạn truy cập trạng thái chia sẻ bên ngoài cá thể dịch vụ. Ngoài ra, nếu bạn không lưu trữ trạng thái có thể thay đổi trong trường hợp dịch vụ của mình, bạn có thể sử dụng 'InstanceContextMode.Single' và' ConcurrencyMode.Multiple' để có hiệu suất tốt nhất. –
@pmillio: bạn có thể cần tăng số lượng maxConcurrentCalls (đó chỉ là mặc định), hoặc bạn có thể cần phải mua thêm máy chủ - nhưng kiến trúc quy mô rất tốt –