Schreckliche Leistung mit WCF und Zertifikaten (gegenseitige Authentifizierung)
Jungs / Mädels, wir haben eine schreckliche Leistung mit unserer Website, die später WCF als Anwendung verwendet. Wir verwenden Sicherheit auf Nachrichtenebene und Zertifikate (gegenseitige Authentifizierung). Wir zwischenspeichern die Channel-Factory im Anwendungsobjekt:
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
Auf jeder Seite, die Daten benötigt, gehen wir folgendermaßen vor:
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
Ich habe auch EstablishmentSecurityContext = true gesetzt.
Wir möchten den Proxy nicht zwischenspeichern, weil wir uns mit einem fehlerhaften Proxy-Status herumschlagen müssen. Soweit ich weiß, sollte das Cachen des Kanalstapels sowieso ausreichen. Wenn ich die Verfolgung einschalte, sehe ich eine Reihe von SCT-Befehlen anstatt nur für den ersten Anruf, wie ich es erwarten würde. Weiß jemand, was los ist. Zwischenspeichern wir die Channel-Factory falsch?
Danke, Ncage