Tôi đã viết một dịch vụ web WCF để sử dụng bởi ứng dụng Silverlight. Ban đầu, dịch vụ chỉ yêu cầu một liên kết http cơ bản. Bây giờ chúng ta cần có khả năng triển khai dịch vụ để sử dụng dưới cả http và https. Tôi đã tìm thấy một số cài đặt cho web.config cho phép tôi thực hiện việc này như sau:Triển khai Dịch vụ WCF với cả ràng buộc http/https và các điểm cuối
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="SilverlightFaultBehavior">
<silverlightFaults />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="CxtMappingWebService.CxtMappingWebServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="SecureHttpBinding">
<security mode="Transport" />
</binding>
<binding name="BasicHttpBinding">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="CxtMappingWebService.CxtMappingWebService" behaviorConfiguration="CxtMappingWebService.CxtMappingWebServiceBehavior">
<endpoint address="" bindingConfiguration="SecureHttpBinding" binding="basicHttpBinding" contract="CxtMappingWebService.ICxtMappingWebService" behaviorConfiguration="SilverlightFaultBehavior" />
<endpoint address="" bindingConfiguration="BasicHttpBinding" binding="basicHttpBinding" contract="CxtMappingWebService.ICxtMappingWebService" behaviorConfiguration="SilverlightFaultBehavior" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
Thật không may, tuy nhiên, có vấn đề với điều này.
Dịch vụ web này cần được triển khai cho hàng trăm máy chủ của khách hàng của chúng tôi và không phải tất cả chúng đều sẽ sử dụng https. Triển khai nó vào một máy chủ mà không có một ràng buộc https thiết lập trong IIS làm cho nó thất bại. Có cách nào để có cả hai ràng buộc trong web.config theo mặc định mà không có nó chết nếu không có một ràng buộc https thiết lập trong IIS?
Chúng tôi có giải pháp khả thi cho vấn đề này, nhưng nó không thực sự phù hợp với yêu cầu triển khai của chúng tôi.
Có ai khác đã gặp phải bất kỳ điều gì như thế này trước đây không và cách bạn giải quyết nó?
*** silverlightFaults *** là gì? – Kiquenet