Share via


組態編輯器工具 (SvcConfigEditor.exe)

Windows Communication Foundation (WCF) 服務組態編輯器 (SvcConfigEditor.exe) 可讓系統管理員和開發人員使用圖形使用者介面建立和修改 WCF 服務的組態設定。有了這項工具,您可以管理 WCF 繫結、行為、服務及診斷的設定,而不用直接編輯 XML 組態檔。

服務組態編輯器位於 C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin 資料夾。

WCF 組態編輯器

服務組態編輯器所提供的精靈會指引您完成設定 WCF 服務或用戶端的所有步驟。強烈建議您使用精靈,而不直接使用編輯器。

如果您已經擁有一些符合標準 System.Configuration 結構描述的組態檔,就可以透過使用者介面來管理繫結、行為、服務和診斷的特定設定。服務組態編輯器可讓您管理現有 WCF 組態檔和可執行檔、COM+ 服務,以及 Web 託管服務的設定。使用服務組態編輯器開啟 Web 託管服務時,服務本身的組態和繼承自高層節點的組態區段都會顯示。

因為 WCF 組態設定位於組態檔的 <system.serviceModel> 區段中,所以編輯器會在這個項目的內容上獨佔式作業,不會存取同一個檔案中的其他項目。您可以直接巡覽至現有的組態檔,或是選取包含服務、虛擬目錄或 COM+ 服務的組件。編輯器會載入特定服務的組態檔,並允許使用者加入新項目,或編輯以巢狀方式置於組態檔 <system.serviceModel> 區段中的現有項目。

編輯器支援 IntelliSense 並增強結構描述相容性。編輯器保證結果輸出符合組態檔的結構描述,且資料值有正確的語法,但是不保證組態檔的語意為有效。換句話說,編輯器不保證組態檔能夠與它所設定的服務搭配使用。

ms732009.Caution(zh-tw,VS.100).gif注意:
一旦您修改了項目,編輯器便無法清除組態檔中的組態項目。例如,如果您使用編輯器將端點名稱設定非空白字串並加以儲存,則組態檔會有以下內容,如下列範例所示。

<endpoint binding="basicHttpBinding" name="somename" />

如果您嘗試將名稱設為空白字串並儲存檔案藉以移除名稱,則組態檔仍會包含 name 屬性,如下列範例所示。

<endpoint binding="basicHttpBinding" name="" />

若要清除該屬性,您必須使用其他文字編輯器手動編輯該項目。

當您使用 clientCredential 端點行為的 issueToken 項目時,應特別小心此問題。具體來說,其 localIssuer 子項目的 address 屬性不能是空白字串。如果您已使用組態編輯器修改過 address 屬性,且要將該屬性完全移除,則應使用組態編輯器以外的工具來移除。否則,屬性會包含空白字串,而且您的應用程式會擲回例外狀況。

使用組態編輯器

服務組態編輯器位於下列 Windows SDK 安裝位置:

C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin\SvcConfigEditor.exe

在啟動服務組態編輯器後,您可以使用 [檔案/開啟] 功能表來瀏覽您要管理的服務或組件。您可以直接開啟組態檔,瀏覽 WCF /COM+ 服務,並開啟 Web 託管服務的組態檔。

服務組態編輯器的使用者介面共分為下列幾個區域:

  • 樹狀檢視窗格,在左側以樹狀結構顯示組態項目。您可以用滑鼠右鍵按一下樹狀目錄中的節點來執行作業。

  • 工作窗格,可在視窗左下角顯示目前項目的一般工作。

  • 詳細資料窗格,可在右側顯示 [樹狀檢視] 中所選取組態節點的詳細設定。

開啟組態檔

  1. 使用命令視窗巡覽至您的 WCF 安裝位置,然後輸入 SvcConfigEditor.exe,啟動服務組態編輯器。

  2. 從 [檔案] 功能表中,選取 [開啟],然後按一下您要管理的檔案類型。

  3. 在 [開啟] 對話方塊中,巡覽至您要管理的特定檔案,然後按兩下該檔案。

檢視器會自動遵循組態合併路徑並建立合併組態的檢視。例如,非託管服務的實際組態是由 Machine.config 與 App.config 所共同組成。任何變更都會套用到 SvcConfigEditor 的使用中檔案。如果您想要編輯組態合併路徑中的特定檔案,應該直接開啟它。

ms732009.note(zh-tw,VS.100).gif注意:
組態編輯器會在目前已開啟的組態檔已在編輯器之外修改時,重新載入該組態檔。發生這種情況時,所有未永久儲存在編輯器內的變更都會遺失。如果持續發生重新載入,最有可能的原因是有服務不斷的存取組態檔,例如在背景中執行的防毒軟體。若要解決這個問題,請確定該檔案開啟時,組態編輯器是唯一能夠存取該檔案的處理序。

服務

[服務] 節點會顯示組態檔中所有目前指派的服務。樹狀目錄中的每個子節點會對應至組態檔中 <services> 項目的子項目。

當您按一下 [服務] 節點時,可以在 [詳細資料窗格] 的服務 [摘要頁面] 中檢視或執行工作。

建立新的服務組態

您可以透過下列方式建立新的服務組態:

  • 使用精靈:按一下 [工作窗格] 或 [摘要頁面] 上的 [建立新服務] 連結啟動精靈。您也可以到 [檔案] 功能表 -> [新增項目] 執行這個動作。

  • 手動建立:您可以滑鼠右鍵按一下 [服務] 節點,然後選擇 [新增服務]。

建立新的服務端點組態

您可以透過下列方式建立新的服務端點組態:

  • 使用精靈來建立:按一下 [工作窗格] 或 [摘要頁面] 上的 [建立新的服務端點] 連結啟動精靈。您也可以到 [檔案] 功能表 -> [新增項目] 執行這個動作。

  • 手動建立:一旦服務建立完成,您可以滑鼠右鍵按一下 [端點] 節點,然後選擇 [新增服務端點]。

編輯服務組態

  1. 按一下 [服務] 節點。

  2. 編輯屬性方格中的設定。

編輯服務端點組態

  1. 按一下 [服務端點] 節點。

  2. 編輯屬性方格中的設定。

加入基底位址

  1. 按一下 [主機] 節點。

  2. 按一下 [基底位址] 區段中的 [新增] 按鈕。

  3. 在對話方塊中輸入基底位址 URI。

  4. 按一下 [確定]。

ms732009.note(zh-tw,VS.100).gif注意:
您無法在此工具內編輯 <baseAddressPrefixFilters> 的值。若要新增或修改這個項目,您應使用文字編輯器或 Visual Studio。

用戶端

[用戶端] 節點會在組態檔案中顯示所有用戶端端點。樹狀目錄中的每個子節點會對應至組態檔中 <client> 項目的子項目。

當您按一下 [用戶端] 節點時,可以在 [詳細資料窗格] 的用戶端 [摘要頁面] 中檢視或執行工作。

建立新的用戶端端點組態

您可以透過下列方式來建立新的用戶端端點組態:

  • 使用精靈來建立:按一下視窗左下角 [工作窗格] 或 [摘要頁面] 上的 [建立新用戶端] 連結來啟動精靈。您也可以到 [檔案] 功能表 -> [新增項目] 執行這個動作。精靈會提示您指向服務組態的位置,從這裡產生用戶端組態。然後您可以選擇要連接的服務端點。

  • 手動建立:以滑鼠右鍵按一下 [用戶端] 底下的 [端點] 節點,然後選擇 [新增用戶端端點]。

編輯用戶端端點組態

  1. 按一下 [用戶端端點] 節點。

  2. 編輯屬性方格中的設定。

標準端點

標準端點是專屬端點,可將位址、連絡人和繫結的一個或多個部分設為預設值。

這類組態設定會儲存在 [標準端點] 節點中。[標準端點] 節點會顯示組態檔中的所有標準端點設定。樹狀目錄中的每個子節點會對應至組態檔中 <standardEndpoints> 項目的子項目。

當您按一下 [標準端點] 節點時,可以在 [詳細資料窗格] 的標準端點 [摘要頁面] 中檢視或執行工作。

建立新的標準端點組態

您可以透過下列方式建立新的標準端點組態:

  • 以滑鼠右鍵按一下 [標準端點] 節點,並選取 [新增標準端點設定],然後選取對話方塊中的繫結型別,再按一下 [確定]。

  • 選取 [標準端點] 節點,然後在視窗左下角的 [工作窗格] 中按一下 [新增標準端點設定]。

[建立新的標準端點組態] 對話方塊隨即顯示,並且列出所有註冊的標準端點型別。

檢視及編輯標準端點組態

您可以透過下列方式開啟標準端點組態進行檢視和編輯:

  • 按一下以展開 [標準端點] 節點,然後按一下各個端點子節點。

  • 按一下 [標準端點] 節點,然後按一下 [詳細資料] 窗格上的各個端點。

端點的屬性會在右窗格中顯示供您編輯。

刪除標準端點組態

您可以透過下列方式刪除標準端點組態:

  • 按一下以展開 [標準端點] 節點,然後以滑鼠右鍵按一下各個端點子節點。使用內容命令 [刪除標準端點設定] 刪除端點。

  • 按一下 [標準端點] 節點。在 [工作] 窗格中,按一下 [刪除標準端點設定]。

如果標準端點正在使用中,當您嘗試刪除時將會顯示警告訊息:「標準端點正在使用。如果您現在要將它刪除,請確定刪除位於組態其他部分 (例如,服務端點或用戶端端點) 的所有參考。否則組態將無效,且下一次將無法開啟。您確定要刪除標準端點嗎?

繫結

繫結組態是用來設定端點上的繫結。此類組態設定會儲存在 [繫結] 節點中。端點會依據名稱參考繫結組態,而多個端點可參考單一繫結組態。

[繫結] 節點會顯示組態檔中的所有繫結設定。樹狀目錄中的每個子節點會對應至組態檔中 <bindings> 項目的子項目。

當您按一下 [繫結] 節點時,可以在 [詳細資料窗格] 的繫結 [摘要頁面] 中檢視或執行工作。

建立新的繫結組態

您可以透過下列方式建立新的繫結組態。

  • 以滑鼠右鍵按一下 [繫結] 節點,並選取 [新增繫結組態],然後選取對話方塊中的繫結型別,再按一下 [確定]。

  • 選取 [繫結] 節點,然後按一下視窗左下角 [工作窗格] 中的 [新增繫結組態]。

  • 在服務或用戶端摘要頁面中,按一下 [繫結組態] 欄位中的 [按一下以建立],為對應的端點建立繫結組態。

將繫結項目擴充功能加入至自訂繫結中

  1. 選取您要在其中新增擴充功能項目的繫結。

  2. 按一下 [加入]。

  3. 從可用延伸清單中,選取您要加入的繫結項目延伸。若要選取多個項目,請同時按下 CTRL 鍵。

  4. 按一下 [加入]。

調整自訂繫結中的延伸位置

自訂繫結是一種會形成堆疊的繫結項目集合。堆疊上的每個繫結項目都有專屬的組態設定。自訂繫結中的繫結項目擴充功能順序代表每個擴充功能在堆疊中的位置。在堆疊頂端的項目會優先套用。若要變更順序:

  1. 選取自訂繫結節點。

  2. 選取 [繫結項目延伸位置] 區段中的繫結延伸項目。

  3. 您可以使用位於清單左側的 [向上] 或 [向下] 按鈕,變更選取項目的位置。

編輯自訂繫結中繫結項目擴充功能的組態

  1. 選取樹狀目錄中的繫結節點。

  2. 選取包含您要編輯之項目的自訂繫結。

  3. 選取您要編輯的繫結項目擴充功能。項目設定會出現在右窗格中供您進行編輯。

診斷

[診斷] 節點會顯示組態檔中的所有診斷設定。它可讓您開啟或關閉效能計數器、啟用或停用 Windows Management Instrumentation (WMI)、設定 WCF 追蹤,以及設定 WCF 訊息記錄。[診斷] 節點中的設定會對應到 <system.serviceModel> 組態檔中的 <system.diagnostics> 區段和 <diagnostics> 區段。

當您按一下 [診斷] 節點時,可以在 [詳細資料窗格] 的診斷 [摘要頁面] 中檢視或執行工作。

設定效能計數器與 WMI

  1. 按一下 [診斷] 節點。

  2. 按一下 [切換效能計數器]。效能計數器具有三種狀態:Off (default)、ServiceOnly 和 All。按一下連結,即可切換設定這三種狀態。

設定 WMI 提供者

  1. 按一下 [診斷] 節點。

  2. 若要啟用 WMI 提供者,請按一下 [啟用 WMI 提供者] 連結。

啟用 WCF 追蹤

您可以使用標準屬性來建立 WCF 追蹤檔,或是設定自訂追蹤檔。

  1. 按一下 [診斷] 節點。

  2. 按一下 [啟用追蹤]。

  3. 您可以按一下 [追蹤層級] 連結調整追蹤層級。追蹤層級共有六個:關閉、關鍵、錯誤、警告、資訊與詳細資訊。[活動追蹤] 與 [傳播活動] 選項可讓您使用 WCF 活動追蹤功能。

  4. 您可以按一下追蹤接聽項名稱,指定追蹤檔案與選項。

啟用 WCF 記錄

您可以使用標準屬性來建立 WCF 追蹤檔,或是設定自訂追蹤檔。

  1. 按一下 [診斷] 節點。

  2. 按一下 [啟用訊息記錄]。

  3. 您可以按一下 [記錄層級] 連結調整記錄層級。記錄層級共有三個:格式錯誤、服務和傳輸。

  4. 您可以按一下接聽項名稱,指定記錄檔案與選項。

ms732009.note(zh-tw,VS.100).gif注意:
如果您要在關閉應用程式時自動清除追蹤與訊息記錄,請啟用 [自動清除] 選項。

[診斷摘要頁面] 可讓您完成設定診斷方面最常見的工作。不過,如果您要手動編輯 [接聽項] 與 [來源] 設定,必須展開 [診斷] 節點,然後編輯 [訊息記錄]、[接聽項] 與 [來源] 節點中的設定。

啟用 WCF 自訂追蹤或訊息記錄

  1. 按一下 [診斷] 節點,然後加以展開。

  2. 以滑鼠右鍵按一下 [接聽項] 節點,然後選取 [新增接聽項]。

  3. 在 [InitData] 欄位中輸入追蹤檔名稱。您可以按一下省略符號 (...) 按鈕瀏覽路徑。

  4. 按一下 [TypeName] 行會顯示省略符號 (...) 按鈕。您可以按一下這個按鈕開啟 [追蹤接聽項型別瀏覽器],這個瀏覽器可以用來尋找已經安裝的預先設定追蹤接聽項。

  5. 請注意 [來源] 區段。您可以按一下這個區段中的 [新增],開啟內含下拉式功能表的對話方塊,這個功能表會列出可用的追蹤來源。選取追蹤來源並按一下 [確定]。

  6. 若要編輯 [訊息記錄] 設定,按一下 [訊息記錄] 節點。您可以編輯屬性方格中的設定。

進階

行為

[行為] 節點會顯示目前組態檔中所定義的行為。

行為組態是用來設定端點與服務的行為。此類組態設定會儲存在 [服務行為] 與 [端點行為] 底下的 [進階] 節點。服務會使用服務行為,而端點則會使用端點行為。

行為是一種會形成堆疊之延伸項目的集合。在堆疊頂端的項目會優先套用。每個延伸項目可以擁有專屬的組態。

建立新的行為組態

您可以透過下列兩種方式建立新的行為組態。

  • 以滑鼠右鍵按一下行為節點,然後選取 [新增行為組態]。

  • 選取其中一個行為節點,然後按一下視窗左下角 [工作窗格] 中的 [新增行為組態]。

將行為項目延伸加入至行為中
  1. 選取其中一個行為節點。

  2. 選取您要編輯的行為。

  3. 按一下 [加入]。

  4. 從可用延伸清單中,選取您要加入的行為項目延伸。

  5. 按一下 [加入]。

調整行為中的延伸位置

行為是一種會形成堆疊之項目的集合。堆疊上的每個項目都有專屬的組態。行為中的行為項目延伸順序代表每個延伸在堆疊中的位置。在堆疊頂端的項目會優先套用。若要變更順序:

  1. 選取其中一個行為節點。

  2. 選取您要編輯的行為。

  3. 選取 [行為項目延伸位置] 區段中的行為延伸項目。

  4. 您可以使用位於清單左側的 [向上] 或 [向下] 按鈕,變更選取項目的位置。

編輯行為項目擴充功能的組態
  1. 選取樹狀目錄的其中一個行為節點。

  2. 選取包含您要編輯之項目的行為。

  3. 選取您要編輯的行為項目擴充功能。項目設定會出現在右窗格中供您進行編輯。

ProtocolMapping

這個區段可讓您透過通訊協定位址配置與可能的繫結之間已定義的對應,針對不同的通訊協定設定預設的繫結型別,例如 http、tcp、MSMQ 或 net.pipe。您也可以加入其他通訊協定的新對應。

Extensions

新繫結延伸、繫結項目延伸、標準端點延伸和行為延伸可以經過註冊,以便用於 WCF 組態中。延伸是名稱/型別的配對。名稱可定義組態中延伸的名稱,而型別則可實作延伸。延伸有四種型別:

  • 繫結延伸可定義整個繫結型別。範例:basicHttpBinding

  • 繫結項目延伸可定義繫結項目。範例:textMessageEncoding

  • 標準端點延伸可定義整個標準端點。範例:discoveryEndpoint

  • 行為項目延伸可定義行為項目。範例:clientVia

已經於組態中註冊的延伸可比照同類型的任何其他 WCF 元件使用。

加入新的延伸

在進階節點中選取其中一個延伸節點:

  1. 按一下 [新增]。

  2. 輸入名稱和型別。

  3. 按一下 [確定]。

  4. 擴充功能現在會出現在編輯器的適當位置中。例如,如果您新增行為項目擴充功能,則這個功能會出現在可用擴充功能清單中。

裝載環境

這個區段可讓您定義服務裝載環境的執行個體化設定。

使用精靈來建立組態檔

建立新組態檔的一個方法是使用 [新增服務項目精靈]。此精靈會找到與電腦上 WCF 相容的已安裝服務類型和其他項目 (包含 COM+ 與 Web 裝載虛擬目錄),並載入以簡化組態的建立程序。

建立組態檔

  1. 使用命令視窗巡覽至您的 WCF 安裝位置,然後輸入 SvcConfigEditor.exe,啟動服務組態編輯器。

  2. 從 [檔案] 功能表中,選取 [開啟],然後依據您要建立的組態檔案類型按一下 [可執行檔]、[COM+ 服務] 或 [WebHosted 服務]。

  3. 在 [開啟] 對話方塊中,巡覽至您要在其中建立組態檔的特定檔案,然後按兩下該檔案。

  4. 在 [檔案] 功能表中,指向 [新增項目],然後按一下 [服務]。[新增服務項目精靈] 隨即開啟。

  5. 依照精靈中的步驟執行,以建立新服務。

ms732009.note(zh-tw,VS.100).gif注意:
如果您要從精靈所產生的組態檔中使用 NetPeerTcpBinding,您必須手動新增繫結組態項目,並將其 security 項目的 mode 屬性修改為 [無]。

設定 COM+

服務組態編輯器可讓您針對現有的 COM+ 應用程式建立新的組態檔,或是編輯現有的 COM+ 組態。當組態檔中存在 <comContract> 區段時,您才看得見 [COM 合約] 節點。

建立新 COM+ 組態

在建立新的 COM+ 組態之前,請先確定您的 COM+ 應用程式已安裝在 [元件服務] 中,並在 [全域組件快取] (GAC) 中註冊。

  1. 選取 [檔案] 功能表 -> [整合] -> [COM+ 應用程式]。這個作業會關閉目前開啟的檔案。如果目前檔案中包含未儲存的資料,就會出現 [儲存] 對話方塊。接著,[COM+ 整合精靈] 隨即啟動。

  2. 從第一頁的樹狀目錄中選取 COM+ 應用程式。如果您在樹狀目錄中找不到您的 COM+ 應用程式,請確認該應用程式是否已經安裝在 [元件服務] 中,並且在 [全域組件快取] (GAC) 中註冊。

  3. 在下一頁,選取您要公開為 WCF 服務的方法。預設會顯示並選取 COM+ 應用程式支援的所有方法。

  4. 選擇裝載的方法。

  5. 依據精靈中的指示進行其他設定。

  6. 服務組態編輯器會在背景中使用 ComSvcConfig.exe 來產生組態檔。完成後,您就可以檢視摘要並結束精靈。產生的組態檔隨即開啟,方便您直接進行編輯。

編輯現有的 COM+ 組態

  1. 選取 [檔案] 功能表 -> [開啟] -> [COM+ 服務]。

  2. 從清單中選取您要編輯的 COM+ 服務。

  3. 編輯 [COM 合約] 節點中的組態設定。

    ms732009.note(zh-tw,VS.100).gif注意:
    您也可以直接開啟並編輯包含 COM 合約的組態檔。

安全性

不保證組態編輯器產生的服務組態檔是安全的。請參閱 Windows Communication Foundation 安全性文件,了解如何保護 WCF 服務。

此外,組態編輯器只能用於讀取和寫入有效的 WCF 組態項目。該工具會忽略符合結構描述、使用者定義的項目。它也不會嘗試將這些項目從組態檔中移除,或判斷其對已知 WCF 項目的影響。使用者應負責判斷這些項目是否會對應用程式或系統造成威脅。