Ragazzi/ragazze stiamo avendo prestazioni terribili con il nostro sito Web che utilizza WCF come applicazione successiva. Utilizziamo sicurezza e certificati a livello di messaggio (autenticazione reciproca). Stiamo cache il channel factory nell'oggetto applicazione:Prestazioni terribili con WCF e certificati (autenticazione reciproca)
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Dim loChannelFactor As New ChannelFactory(Of OurReference.IWCFChannel)("ClientEndpoint")
loChannelFactor.Open()
Application.Add("ChannelFactory", loChannelFactor)
End Sub
In ogni pagina che abbiamo bisogno di dati che facciamo la seguente:
Dim Proxy = DirectCast(voWebApp("ChannelFactory"), ChannelFactory(Of OurInfoReference.IOurInfoChannel)).CreateChannel
Proxy.DataCall()
If roWCFService IsNot Nothing Then
CType(roWCFService, ICommunicationObject).Close()
roWCFService = Nothing
End If
anche io ho impostato EstablishSecurityContext = true.
Non si desidera memorizzare nella cache il proxy perché si è verificato un errore con uno stato proxy guasto. Per quanto ne so, la pila di canali dovrebbe essere comunque sufficiente. Quando accendo il monitoraggio, sto vedendo un gruppo di comandi SCT anziché solo per la prima chiamata, come mi aspetterei. Qualcuno sa cosa sta succedendo. Stiamo memorizzando nella cache la fabbrica del canale in modo errato?
grazie, NCAGE
Fare riferimento a questo articolo che potrebbe essere di aiuto. http://webservices20.blogspot.com/2009/01/wcf-performance-gearing-up-your-service.html – Verybiztalker