Ciao sto cercando di creare un servizio soddisfacente con WCF, è probabile che il servizio venga consumato da almeno 500 persone in un dato momento. Quali impostazioni avrei bisogno di impostare per affrontare questo. Per favore datemi punti e suggerimenti, grazie.Creazione di un servizio WCF Restful, problemi di concorrenza
Ecco un esempio di ciò che ho finora;
[ServiceBehavior(IncludeExceptionDetailInFaults = true, InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)]
E questo è un esempio di un metodo chiamato;
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);
Ciao, grazie per la risposta, le stesse impostazioni saranno ancora valide se siamo cresciuti e avessimo qualcosa come 30000 utenti? – pmillio
+1, buona risposta. Con le impostazioni di cui sopra devi ancora preoccuparti della sicurezza dei thread se accedi allo stato condiviso al di fuori dell'istanza del servizio. Inoltre, se non si memorizza lo stato mutabile nell'istanza del servizio, è possibile utilizzare 'InstanceContextMode.Single' e' ConcurrencyMode.Multiple' per prestazioni ottimali. –
@ pmillio: potrebbe essere necessario aumentare il numero di maxConcurrentCalls (che è solo l'impostazione predefinita), o potrebbe essere necessario acquistare server aggiuntivi, ma l'architettura si adatta molto bene –