Tôi có giải pháp SignalR được triển khai cho vai trò Web Azure (dịch vụ đám mây, không phải Web site Azure) và để đảm bảo chúng tôi có thể tối đa hóa số lượng kết nối cho từng trường hợp tôi cần để thực hiện một số thay đổi cài đặt ASP.NET khác nhau như được mô tả chi tiết trong bài viết này: http://www.asp.net/signalr/overview/performance/signalr-performance#tuningCập nhật aspnet.config trên Azure Web Role
Cài đặt appConcurrentRequestLimit và requestQueueLimit dễ dàng thay đổi với tác vụ khởi động sử dụng APPCMD để thực hiện các thay đổi có liên quan. Tuy nhiên, thiết lập maxConcurrentRequestsPerCPU nằm trong tệp aspnet.config không thể thay đổi thông qua cùng một cơ chế.
Tôi đã thử cập nhật tệp đó trực tiếp với tác vụ khởi động (chỉ là thay thế tệp cơ bản bây giờ), tuy nhiên dường như nó được thay thế bằng thời gian chạy Azure sau khi tác vụ khởi động đã hoàn thành và thay đổi bị mất. Tôi có thể RDP vào máy và thực hiện thay đổi bằng tay vì vậy tôi đã thấy rằng nó hoạt động tuy nhiên đó không phải là bền vững cho một dịch vụ mà chúng tôi mong đợi để mở rộng lên và xuống theo yêu cầu.
Bất kỳ ý tưởng nào về cách thay đổi cài đặt này trong môi trường Azure sẽ được đánh giá cao!
Có lẽ bạn có thể sử dụng lớp 'ServerManager' và thay đổi cấu hình. Thậm chí không bắt đầu cố gắng này mặc dù. – sharptooth
chỉ là một bắn mù: đã cố gắng thay thế tập tin đó từ OnStart của một lớp RoleEntryPoint - trong vai trò web chúng tôi cũng có thể thực hiện RoleEntryPoint như chúng ta làm trong vai trò người lao động. Ví dụ của nó sẽ tồn tại trong quá trình WaIISHost.exe trên Web Role. Quá trình này luôn ở đó. Và OnStart sẽ được gọi là chỉ sau khi tất cả những thay đổi IIS được thực hiện và trang web đã sẵn sàng để chạy. – astaykov
Cảm ơn cả hai, sẽ cho những người dùng thử. Cũng đã có một gợi ý trên Twitter mà tôi sẽ cố gắng mà là để thêm một DWORD registry tên MaxConcurrentRequestsPerCPU trong HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ ASP.NET \ {version} – Ben