Tôi đang kết nối với một dịch vụ duplex WCF với một cert x509, quy định cụ thể các chi tiết chứng chỉ trong tập tin cấu hình khách hàng như thế này:động bộ x509 để sử dụng cho vệ tinh viễn thông duplex WCF
<behaviors>
<endpointBehaviors>
<behavior name="ScannerManagerBehavior">
<clientCredentials>
<clientCertificate findValue="ClientName" x509FindType="FindBySubjectName" storeLocation="CurrentUser" storeName="My" />
<serviceCertificate>
<authentication certificateValidationMode="PeerTrust" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
Mã mà sau đó kết nối với dịch vụ WCF:
DuplexChannelFactory<IScannerManager> _smFactory
= new DuplexChannelFactory<IScannerManager>(instanceContext, nameOfEndPoint);
var _commsChannel = _smFactory.CreateChannel();
Bây giờ tôi cần phải chỉ định tên chứng chỉ ứng dụng khách sẽ được sử dụng theo chương trình, trong mã. Tôi có thể làm điều đó không? Tôi có thể thấy rằng tôi có thể tạo lớp x509Certificate2 của riêng tôi, nhưng tôi không chắc chắn làm thế nào để thay đổi/thiết lập các bit findValue="clientName"
...
Cảm ơn
Cách sử dụng thuộc tính ClientCertificate, xem http://msdn.microsoft.com/en-us/library/system.servicemodel.description.clientcredentials.clientcertificate.aspx. cũng xem liên kết này http://stackoverflow.com/questions/2406136/wcf-certificates-without-certificate-store có đoạn trích hiển thị cách truy cập thuộc tính này trong hành vi điểm cuối của Kênh. – wal