備忘:.net WebServices 禁用瀏覽器訪問與禁用wsdl生成
阿新 • • 發佈:2020-11-17
很多情況下, 開發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