設定 Metabase 屬性 DisableSocketPooling 並不會有影響

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

在此頁中

徵狀

您在 Microsoft Windows Server 2003 上啟動網際網路資訊服務 (IIS) 6.0 時,IIS 會繫結到所有的 IP 位址在伺服器上不只是 IP 位址指派給網站。即使您已設定 Metabase 屬性 DisableSocketPooling 設為 True,則這可能是,則為 True。

發生的原因

若要成功地允許應用程式在不同的 IP 位址上使用相同的連接埠,您必須使用新公用 Httpcfg.exe。Httpcfg.exe 位於 Windows Server 2003 光碟,與 Support.cab 檔案的一部份 Support\Tools 目錄中。

解決方案

若要安裝 Microsoft Windows 支援工具

  1. Windows Server 2003 CD 插入 CD-ROM 或 DVD-ROM 光碟機中。
  2. 當光碟片開啟時,按一下 [執行其他工作]。
  3. 按一下 [瀏覽此 CD]。
  4. 連按兩下 [支援]。
  5. 連按兩下 [工具]。
  6. 連按兩下 SUPTOOLS.MSI
  7. 按一下 [下一步],在 [名稱] 和 [組織] 方塊中輸入您的資訊]、 按一下 [下一步],然後再按一下下列螢幕中的 [下一步]。
  8. 按一下 [下一步] 再次以開始安裝。
  9. 按一下 [完成]。

將 IP 位址新增至 IP 包含清單

  1. 按一下 [開始],然後按一下 [執行]。
  2. 輸入 cmd,然後按一下 [確定] 以開啟命令提示字元。
  3. 下列 xxx.xxx.x.x 是 IP 地址您想要新增的類型:
    httpcfg 設定 iplisten-i xxx.xxx.x.x
    這成功時 Httpcfg 傳回下列:
    完成但有 0 HttpSetServiceConfiguration

    若要欲額外的狀態碼,請參閱 Httpcfg 說明。
  4. 新增 IP 位址後,請使用下列命令來列出它:
    httpcfg 查詢 iplisten
    Httpcfg 傳回下列:
    IP: xxx.xxx.x.x
  5. 在命令提示字元下停止 HTTP 服務,而且其依存的服務。如果要執行這項操作,請在命令提示字元輸入下列字串:
    net stop http/y
  6. 重新在命令提示字元下啟動 HTTP 服務與它相依的服務。如果要執行這項操作,請在命令提示字元輸入下列字串:
    net start w3svc
    附註您在啟動 w3svc 時停止 HTTP 時已停止的所有服務將會都啟動。

狀況說明

這種行為是經過設計規劃的。

其他相關資訊

IIS 5.0 使用 Metabase 屬性 DisableSocketPooling 來允許相同的連接埠的應用程式存取透過不同的 IP 位址。將此值設定為 True 允許存在於相同的 Microsoft Windows 2000 安裝這些應用程式。

因為 DisableSocketPooling 定義為有效的屬性,在 IIS 6.0 中繼資料庫結構描述 (MBSchema.xml) 您可以仍將這個屬性藉由使用 Adsutil.vbs,但是,這就不會有影響。在 IIS 6.0 中的功能是新核心驅動層級程式 HTTP.sys 的一部分。您必須進行 HTTP.sys 使用 Httpcfg.exe。

在 IIS 5.0 TCP 接聽程式是 Winsock。Winsock 使用通訊端,且 IIS 結合至效能和延展性 Winsock API。通訊端集區引進位址問題在網際網路資訊伺服器 (IIS) 4.0 資源使用量已高與許多網站都使用個別的 IP 位址。

若要解決這個延展性問題,IIS 5.0 是使用通訊端集區,讓共用的資源。通訊端共用許可雙重或三倍在具有唯一的 IP 特定伺服器上執行的網站數目地址。DisableSocketPooling 屬性在 IIS 5.0 也引入時,所使用另一個應用程式需要使用 IIS 接聽的連接埠的預設安裝的元件 (例如連接埠 80)。

在 IIS 6.0 HTTP.sys 是 TCP 接聽程式,而 HTTP.sys 並未使用 Winsock API。通訊端不是可設定的屬性。HTTP.sys 會使用 IP 包含清單。預設情況下,這份清單是空白,且 IIS 會在所有的 IP 位址上接聽。您可以指定 IIS 將接聽者加入 IP 包含清單的 IP 位址。

重要IP 包含清單讀取的 HTTP 服務的啟動過程。 如果您變更清單,您必須重新啟動服務。

附註HTTP 服務和 HTTP SSL 服務是不同的服務。HTTP 服務不會出現在 [服務] 清單,而且必須在命令提示字元重新啟動。要這麼做,請您執行下列步驟:
  1. 按一下 [開始]、 按一下 [執行],然後再輸入 cmd 來開啟命令提示字元。在命令提示字元下鍵入 net stop http/y,並按下 ENTER。 這會停止 HTTP 安全通訊端層 (SSL) 服務與全球資訊網發行服務,因為它們是相依於 HTTP 服務。
  2. 若要啟動 HTTP 服務,請在命令提示字元中輸入 net start w3svc。這會啟動 HTTP SSL 服務及 HTTP 服務。
將 IP 位址新增至 IP 包含清單之後,您必須新增每個網站所使用的 IP 位址。如果您將網站繫結至一個 IP 位址不在清單的網站上,不會啟動。

?考

如需使用此指令,請參閱 Httpcfg 線上說明]。若要存取 Httpcfg 線上說明,鍵入 Httpcfg /? 在命令提示字元或請依照下列步驟執行:
  1. 按一下 [開始]。
  2. 按一下 [所有程式]。
  3. 按一下 [Windows 支援工具]。
  4. 按一下 [支援工具的 [說明]。
  5. 按一下 [依字母次序清單的工具,依檔案名稱] 下的 [H]。
  6. 連按兩下 Httpcfg.exe (HTTP 組態公用程式 」)
如需有關 DisableSocketPooling,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
238131如何停用通訊端集區

屬性

文章編號: 813368 - 上次校閱: 2007年12月3日 - 版次: 5.3
這篇文章中的資訊適用於:
  • Microsoft Internet Information Services 6.0
關鍵字:?
kbmt kbhowto KB813368 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:813368
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