Việc sử dụng và tầm quan trọng của IMetadataExchange trong WCF là gì?Tầm quan trọng của IMetadataExchange trong WCF là gì?
Tôi có tệp app.config sau trong đó tôi không sử dụng điểm cuối IMetadataExchange
, nhưng tôi vẫn có thể tạo ứng dụng khách proxy của mình. Tôi đã đọc rằng nếu tôi không sử dụng điểm cuối IMetadataExchange
, AddServiceReference sẽ không hoạt động vì dịch vụ của tôi không hiển thị siêu dữ liệu. Tính năng này hoạt động như thế nào mà không cần phơi bày IMetadataExchange
điểm cuối?
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="metaDataBehavior">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name ="WCFService.Services" behaviorConfiguration="metaDataBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8090/Services/"/>
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding" contract="WCFService.IMathOperations"/>
</service>
</services>
</system.serviceModel>
</configuration>
+1 chính xác - không có siêu dữ liệu -> không có cách nào để khám phá những gì dịch vụ cung cấp, trong trường hợp đó, bạn sẽ cần một máy khách proxy "được tạo trước" làm mã hoặc một thứ khác để kết nối với dịch vụ –
+1 "• Bạn nên xóa nó khỏi máy chủ sản xuất, để hacker không thể thêm tham chiếu dịch vụ" –
Ngăn chặn tin tặc thêm tài liệu tham khảo dịch vụ sẽ KHÔNG ngăn hacker tấn công/lạm dụng/lừa đảo dịch vụ của bạn. – Mark