Straszna wydajność z WCF i certyfikatami (wzajemne uwierzytelnianie)
Chłopaki / dziewczęta mamy straszny występ z naszą stroną internetową, która używa WCF jako aplikacji później. Używamy zabezpieczeń i certyfikatów na poziomie wiadomości (wzajemne uwierzytelnianie). Buforujemy fabrykę kanałów w obiekcie aplikacji:
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
Na każdej stronie, której potrzebujemy danych, wykonujemy następujące czynności:
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
Również ustawiłem allowsecuritycontext = true.
Nie chcemy buforować proxy z powodu konieczności bałaganu z błędnym stanem proxy. O ile wiem, buforowanie stosu kanałów powinno i tak być wystarczające. Kiedy włączam śledzenie, widzę kilka poleceń SCT zamiast tylko dla pierwszego połączenia, tak jak oczekiwałbym. Czy ktoś wie, co się dzieje. Czy niepoprawnie buforujemy fabrykę kanałów?
dzięki, Ncage