解決WebService 測試窗體只能用於來自本地計算機的請求


問題:
  今天上午,WebService部署成站點之后,如果在本地測試webservice可以運行,在遠程卻顯示“測試窗體只能用於來自本地計算機的請求”或者"The test form is only available for requests from the local machine. ",

原因:
    大家都知道,Web服務做好后,發布在網上,別人要調用你提供的接口時,是無法打開測試窗體的,這讓很多的朋友都蠻郁悶,為什么別人提供的服務接口就能夠打開測試窗體,而我的就不行呢?是不是我的代碼寫的有問題呢?那是因為沒有開啟遠程訪問的原因。

 

解決:
在web.config的<system.web></system.web>中間加入如下配置節內容

<webServices>
         <protocols>
            <add name="HttpSoap"/>
            <add name="HttpPost"/>
            <add name="HttpGet"/>
            <add name="Documentation"/>
         </protocols>
</webServices>

分析:
以下說明來自MSDN:
protocols 元素指定 ASP.NET Web 服務可用來接收從客戶端發送來的請求數據和返回響應數據的協議。協議可用來將請求數據與方法及其參數關聯起來,將響應數據與方法及其返回值關聯起來。默認情況下,僅啟用 HttpSoap 和 Documentation。若要使用 HttpPost 和 HttpGet,需要按照上面的示例所顯示的那樣啟用它們。
protocols 的子元素有(add,clear,remove)
add--添加 ASP.NET Web 服務可用來接收從客戶端發送來的請求數據和返回響應數據的指定協議。默認情況下,僅啟用 HttpSoap 和 Documentation。
clear--從配置文件的范圍內移除所有的協議。
remove--從配置文件的范圍內移除用來處理請求和響應數據的指定協議。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM