2011-10-21 34 views
6

Tôi đã tìm kiếm các câu hỏi tương tự trên SO và Google, nhưng có vẻ như không thể ẩn hoặc vô hiệu hóa trang trợ giúp WCF chuẩn "Bạn đã tạo một dịch vụ" khi bạn duyệt đến tệp * .svc của bạn.Trang trợ giúp WCF - cách vô hiệu hóa hoặc thay đổi URL hiển thị

Vấn đề đối với chúng tôi là nó cho thấy tên máy chủ của chúng tôi và tên miền trong dòng nơi nó nói:

"Để kiểm tra dịch vụ này, bạn sẽ cần phải ..."

svcutil.exe http://machinename.companydomain.local/CARS.Service/ServiceCARS.svc?wsdl 

Như bạn thấy, ở đây nó cho thấy tên của máy chủ cũng như tên miền công ty của chúng tôi. Nó chọn này ngay cả khi bạn duyệt đến dịch vụ với một IP hoặc localhost.

Đây là dịch vụ đối mặt bên ngoài và chúng tôi không muốn các chi tiết đó được cung cấp bên ngoài orginization. Tôi đã cố gắng để fiddle với các thiết lập <dns value=localhost">, nhưng điều đó dường như không thay đổi những gì được hiển thị trên trang "trợ giúp" (tin tặc) này.

Vì vậy, bất kỳ ý tưởng nào? Làm cách nào để vô hiệu hóa hoàn toàn trang hoặc ẩn tên máy và tên miền khỏi trang?

+0

Bạn nên chấp nhận câu trả lời nếu nó giúp bạn. –

Trả lời

14

Để tắt hoàn toàn trang: trên web.config, hãy xác định hành vi <serviceDebug/> bên trong một <serviceBehavior> với thuộc tính http[s]HelpPageEnabled được đặt thành false.

<system.serviceModel> 
    <services> 
     <service name="MyNamespace.MyService" behaviorConfiguration="NoHelpPageBehavior"> 
     <endpoint address="" binding="basicHttpBinding" contract="MyNamespace.IMyContract" /> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="NoHelpPageBehavior"> 
      <serviceDebug httpHelpPageEnabled="false" httpsHelpPageEnabled="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
+0

Chỉ cần những gì tôi cần, cảm ơn bạn! – Gromer

Các vấn đề liên quan