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

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

緣由:
    你們都知道,Web服務作好後,發佈在網上,別人要調用你提供的接口時,是沒法打開測試窗體的,這讓不少的朋友都蠻鬱悶,爲何別人提供的服務接口就可以打開測試窗體,而個人就不行呢?是否是個人代碼寫的有問題呢?那是由於沒有開啓遠程訪問的緣由。web

 

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

複製代碼
<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--從配置文件的範圍內移除用來處理請求和響應數據的指定協議。測試

相關文章
相關標籤/搜索