này có vẻ là hữu ích trong tình huống sau đây ...
<system.serviceModel>
<services>
<service name="WCFService.Service" behaviorConfiguration="ServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8080/WCFService"/>
</baseAddresses>
</host>
<!-- Net.Tcp EndPoints-->
<endpoint address=""
binding="netTcpBinding"
contract="WCFService.IService" />
<endpoint address="mex"
binding="mexTcpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Không có điểm cuối HTTP xác định và bạn có thể nhận được dịch vụ của bạn theo những cách sau. ..
- Browser: http://localhost/WCFService/Service.svc
- svcutil.exe net.tcp://localhost:8080/WCFService/Service.svc/mex
Nếu bạn nhận xét thì điểm cuối MEX sẽ không hoạt động.
Bạn tự hỏi tại sao các dữ liệu meta vẫn có thể được nhìn thấy trong các trình duyệt như
a) Tôi không có một thiết bị đầu cuối HTTP và b) Tôi đã thiết lập đặc biệt ...
<serviceMetadata httpGetEnabled="false" />
Lý do cho điều này là trong cài đặt nâng cao cho trang web tôi đã xác định sau cho Giao thức đã bật trong Cài đặt nâng cao ...
http,net.tcp
Nếu bạn xóa http
thì siêu dữ liệu không thể thấy trong trình duyệt. Có vẻ như trong kịch bản này, một trang web chỉ hỗ trợ net.tcp, bạn cần điểm cuối mex.
Câu hỏi hay.+1 – Lijo