1. 程式人生 > 實用技巧 >備忘:.net WebServices 禁用瀏覽器訪問與禁用wsdl生成

備忘:.net WebServices 禁用瀏覽器訪問與禁用wsdl生成

很多情況下, 開發webservices 是需要本地瀏覽器除錯,處於安全考慮生產環境不允許訪問,也不允許訪問wsdl文件。

首先:

禁用或啟用瀏覽器訪問,get、post方式

web.config檔案內會有以下節點,註釋掉get和post,就不可使用瀏覽器除錯了,僅能使用soap進行正常訪問。

<system.web>
    <webServices>
      <protocols>
        <add name="HttpSoap" />
        <!--<add name="HttpPost" />
        <add name="HttpGet" />
--> <add name="Documentation" /> </protocols> </webServices>

註釋get與post後,再次訪問 提示:”測試窗體只能用於來自本地計算機的請求“;但是還是能夠看到wsdl文件,能夠看到請求體與響應體,這些我們也不想暴露在外邊。

需要在webServer節點內新增以下節點,來阻止wsdl生成。再次訪問就會報500錯誤了,看了官方文件,應該是可以顯示其他頁面,不用報500錯誤,相對友好。(我們沒那麼多需求,就不繼續研究了)

<system.web>   
<
webServices> <wsdlHelpGenerator href="MyDocumentation.aspx"/> </webServices>

官方文件:https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2008/ms242476(v=vs.90)

感謝搜尋到的文章:https://developer.51cto.com/art/200908/142437.htm