標籤:
問題: 今天上午,WebService部署成網站之後,如果在本地測試webservice可以運行,在遠程卻顯示“測試表單只能用於來自本機電腦的請求”或者"The test form is only available for requests from the local machine. ",
原因: 大家都知道,Web服務做好後,發布在網上,別人要調用你提供的介面時,是無法開啟測試表單的,這讓很多的朋友都蠻鬱悶,為什麼別人提供的服務介面就能夠開啟測試表單,而我的就不行呢?是不是My Code寫的有問題呢?那是因為沒有開啟遠端存取的原因。
解決: 在web.config的<system.web></system.web>中間加入如下配置節內容
<system.web>
<webServices> <protocols> <add name="HttpSoap"/> <add name="HttpPost"/> <add name="HttpGet"/> <add name="Documentation"/> </protocols></webServices>
</system.web>
分析: 以下說明來自MSDN: protocols 元素指定 ASP.NET Web 服務可用來接收從用戶端發送來的請求資料和返迴響應資料的協議。協議可用來將請求資料與方法及其參數關聯起來,將響應資料與方法及其傳回值關聯起來。預設情況下,僅啟用 HttpSoap 和 Documentation。若要使用 HttpPost 和 HttpGet,需要按照上面的樣本所顯示的那樣啟用它們。 protocols 的子項目有(add,clear,remove) add--添加 ASP.NET Web 服務可用來接收從用戶端發送來的請求資料和返迴響應資料的指定協議。預設情況下,僅啟用 HttpSoap 和 Documentation。 clear--從設定檔的範圍內移除所有的協議。 remove--從設定檔的範圍內移除用來處理請求和響應資料的指定協議。
http://www.cnblogs.com/JuneZhang/archive/2013/01/24/net.html
解決WebService 測試表單只能用於來自本機電腦的請求