Guys/Gals chúng tôi đang có hiệu suất khủng khiếp với trang web của chúng tôi sử dụng WCF làm ứng dụng sau này. Chúng tôi đang sử dụng bảo mật cấp độ tin nhắn và chứng chỉ (xác thực lẫn nhau). Chúng tôi có bộ nhớ đệm nhà máy kênh trong đối tượng áp dụng:Hiệu suất khủng khiếp với WCF và chứng chỉ (xác thực lẫn nhau)
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
Trong mỗi trang mà chúng ta cần dữ liệu chúng tôi thực hiện như sau:
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
Ngoài ra tôi đã thiết establishsecuritycontext = true.
Chúng tôi không muốn lưu trữ proxy vì phải gây rối với trạng thái proxy bị lỗi. Theo như tôi biết bộ nhớ đệm kênh ngăn xếp nên là đủ anyways. Khi tôi bật theo dõi tôi thấy một loạt các lệnh SCT thay vì chỉ cho các cuộc gọi đầu tiên như tôi mong đợi. Có ai biết chuyện gì đang xảy ra không. Chúng tôi có đang lưu vào bộ nhớ cache của nhà máy kênh không chính xác không?
cảm ơn, Ncage
Vui lòng tham khảo bài viết này có thể giúp bạn. http://webservices20.blogspot.com/2009/01/wcf-performance-gearing-up-your-service.html – Verybiztalker