INFO:HTTP GET 及 HTTP POST 預設為停用

文章翻譯 文章翻譯
文章編號: 819267 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,在 .NET Framework 1.1 中所做的變更,會影響 Web 伺服器上的 HTTP GETHTTP POST 方法,並且說明有關這個新功能的可行方案。

其他相關資訊

與 .NET 連接的 Web 服務支援 HTTP GET、HTTP POST 及 SOAP 通訊協定。根據預設,在 .NET Framework 1.0 中,這三種通訊協定均設定為啟用。在 .NET Framework 1.1 中,HTTP GET 及 HTTP POST 是預設為停用。這是基於安全性的考量。

當 Web 服務升級至 .NET Framework 1.1 時,使用 HTTP GET 或 HTTP POST 來叫用 Web 服務的應用程式就會失敗。這些應用程式會收到
System.Net.WebException
錯誤訊息,表示無法辨識要求的格式。

請注意,HTML 測試表單是使用 HTTP POST,因此,無法在 .NET Framework 1.1 中使用。下列所述為真 (除了在 localhost 上以外)。

.NET Framework 1.1 定義名為 HttpPostLocalhost 的新通訊協定。根據預設,此新通訊協定為啟用狀態, 並且允許同一部電腦上的應用程式,使用 HTTP POST 要求來叫用 Web 服務。事實上,這是提供給使用 http://localhost (而不是提供給使用 http://hostname) 的 POST URL。這會允許 Web 服務開發人員可以透過同一部具有 Web 服務的電腦,使用 HTML 測試表單來叫用 Web 服務。

當您嘗試從遠端電腦存取 Web 服務時,就會看不到 [叫用] 按鈕。 同時,您會收到下列錯誤訊息:

測試表單只適用於來自本機電腦的要求

可行方案

您可以在具有 Web 服務的電腦中,編輯 vroot 的 Web.config 檔案,以啟用 HTTP GET 及 HTTP POST。下列設定可以啟用 HTTP GET 及 HTTP POST:
<configuration>
    <system.web>
    <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
    </system.web>
</configuration>
或者,您可以編輯 Machine.config 中的 <protocols> 區段,以便啟用電腦上所有 Web 服務的通訊協定。下面的範例可以從 localhost 啟用 HTTP GET、HTTP POST、SOAP 及 HTTP POST:
<protocols>
	<add name="HttpSoap"/>
	<add name="HttpPost"/>
	<add name="HttpGet"/> 
	<add name="HttpPostLocalhost"/>
      <!-- Documentation enables the documentation/test pages -->
	<add name="Documentation"/>
</protocols>

?考

如需有關 Web 服務設定的詳細資訊,請參閱 .NET Framework 1.1 文件中的 <protocols> 項目: http://msdn2.microsoft.com/en-us/library/ccbk8w5h(vs.71).aspx

屬性

文章編號: 819267 - 上次校閱: 2007年5月16日 - 版次: 1.3
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 1.1
關鍵字:?
kberrmsg kbhowto kbinfo kbhttp kbwebserver kbwebclasses kbhtml KB819267
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com