配置编辑器工具 (SvcConfigEditor.exe)位置和简介
配置编辑器工具 (SvcConfigEditor.exe)
通过 Windows Communication Foundation (WCF) 服务配置编辑器 (SvcConfigEditor.exe),管理员和开发人员可以使用图形用户界面来创建和修改 WCF 服务的配置设置。 利用此工具,您不必直接编辑 XML 配置文件就可管理 WCF 绑定、行为、服务和诊断的设置。
在 C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin 文件夹中可以找到服务配置编辑器。
WCF 配置编辑器
服务配置编辑器附带了一个向导,该向导可引导您完成配置 WCF 服务或客户端的所有步骤。 强烈建议您使用向导,而不是直接使用编辑器。
如果已经有一些符合标准 System.Configuration 架构的配置文件,可通过用户界面管理绑定、行为、服务和诊断的特定设置。 使用服务配置编辑器,可以管理现有 WCF 配置文件及可执行文件、COM+ 服务和 Web 承载的服务的设置。 用服务配置编辑器打开 Web 承载的服务时,会同时显示服务自己的配置节和从上级节点继承的配置节。
由于 WCF 配置设置位于配置文件的 <system.serviceModel> 节中,编辑器只会对此元素的内容进行操作,而不会访问同一文件中的其他元素。 可以直接定位到现有配置文件,也可以选择包含服务、虚拟目录或 COM+ 服务的程序集。 编辑器将为该特定服务加载配置文件,并允许用户添加新元素或编辑嵌套在配置文件的 <system.serviceModel> 节中的现有元素。
编辑器支持 IntelliSense,并强制遵从架构要求。 可以保证生成的输出符合配置文件的架构,并具有在语法上正确的数据值。 但是,编辑器不保证配置文件在语义上是有效的。 换句话说,编辑器不保证配置文件可与它配置的服务协同工作。
注意
一旦您修改了某个配置元素后,编辑器将无法从配置文件中清除该元素。 例如,如果使用编辑器将终结点名称设置为非空字符串并加以保存,则配置文件会具有以下内容,如下面的示例所示。
如果尝试通过将名称设置为空字符串来移除名称并保存文件,则配置文件仍会包含 name 特性,如下面的示例所示。
若要清除该属性,您必须使用另一个文本编辑器手动编辑该元素。
在使用 issueToken 终结点行为的 clientCredential 元素时,应要特别小心此问题。 特别是,其 address 子元素的 localIssuer 特性一定不能为空字符串。 如果使用配置编辑器修改了 address 特性并且想要完全移除该特性,您应使用除该编辑器之外的其他工具来进行操作。 否则,该特性会包含空字符串,并且应用程序会引发异常。
使用配置编辑器
可在以下 Windows SDK 安装位置中找到服务配置编辑器:
C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin\SvcConfigEditor.exe
启动服务配置编辑器后,可以使用 “文件”/“打开” 菜单来浏览要管理的服务或程序集。 可以直接打开配置文件、浏览 WCF /COM+ 服务,以及打开 Web 承载的服务的配置文件。
服务配置编辑器的用户界面分成以下几个区域:
树视图窗格,在左侧以树状结构显示配置元素。 右击节点可在树中执行操作。
任务窗格,在窗口的左下方显示了当前元素的常见任务
详细信息窗格,在右侧显示了树视图中所选配置节点的详细设置。
打开配置文件
使用命令窗口导航到 WCF 安装位置,然后键入,启动服务配置编辑器 SvcConfigEditor.exe 。
从 “文件” 菜单中,选择 “打开”,然后单击要管理的文件的类型。
在 “打开” 对话框中,导航到要管理的特定文件,然后双击该文件。
查看器自动跟随配置合并路径,并创建合并配置的视图。 例如,非宿主服务的实际配置是 Machine.config 和 App.config 的组合。任何更改都将应用到 Svcconfigeditor.exe 中的活动文件。 如果要编辑配置合并路径中的特定文件,应直接将其打开。
备注
如果在编辑器外部修改了后者,配置编辑器将重新加载当前打开的配置文件。 发生这种情况时,未在编辑器内永久保存的所有更改都将丢失。 如果一直发生重新加载情况,最可能的原因是某项服务(例如,在后台运行的防病毒软件)在不断地访问配置文件。 若要解决此问题,请确保配置编辑器是在文件打开时唯一能够访问该文件的进程。
服务
“服务” 节点显示配置文件中当前分配的所有服务。 树中的每个子节点对应于 services 配置文件中 <> 元素的子元素。
单击 “服务” 节点时,可以在 “详细信息” 窗格中的 “服务摘要” 页上查看或执行任务。
创建新的服务配置
可按下列方法创建新的服务配置:
使用向导:单击 “新建服务” 链接 … 在 “任务窗格” 或 “摘要” 页上,启动向导。 也可以在 “文件” 菜单-> “添加新项”。
手动创建:可右键单击 “服务” 节点,然后选择 “新建服务”。
创建新的服务终结点配置
可按下列方法创建新的服务终结点配置:
使用向导创建:单击 “新建服务终结点” 链接。 在 “任务窗格” 或 “摘要” 页上,启动向导。 也可以在 “文件” 菜单-> “添加新项”。
手动创建:创建服务后,可以右键单击 “终结点” 节点,然后选择 “新建服务终结点”。
编辑服务配置
单击 “服务” 节点。
在属性网格中编辑设置。
编辑服务终结点配置
单击 “服务终结点” 节点。
在属性网格中编辑设置。
添加基址
单击主机节点。
单击 “OData 源编辑器” 按钮。 Base Addresses
在对话框中键入基址 URI。
单击“确定”。
备注
无法在 此工具中编辑的值。 若要添加或修改此元素,应使用文本编辑器或 Visual Studio。
Client
客户端节点显示配置文件中的所有客户端终结点。 树中的每个子节点对应于 client 配置文件中 <> 元素的子元素。
单击 “客户端” 节点时,可以在 “详细信息” 窗格的 “客户端摘要” 页上查看或执行任务。
创建新的客户端终结点配置
可按下列方法创建新的客户端终结点配置:
通过向导创建:单击 "新建客户端 … " 链接 在窗口左下方的任务窗格上,或在 "摘要"页上启动向导。 也可以在 “文件” 菜单-> “添加新项”。 该向导会提示您指向从中生成客户端配置的服务配置的位置。 然后,您可以选择要连接的服务终结点。
手动创建:右键单击 “客户端” 下的 “终结点” 节点,然后选择 “新建客户端终结点”。
编辑客户端终结点配置
单击 “客户端终结点” 节点。
在属性网格中编辑设置。
标准终结点
标准终结点是一种专门的终结点,其地址、协定和绑定中的一个或多个方面已设置为默认值。
此类配置设置存储在 “标准终结点” 节点中。 标准终结点节点显示配置文件中的所有标准终结点设置。 树中的每个子节点对应于配置文件中元素的子元素 。
单击 “标准终结点” 节点时,可以在 “详细信息” 窗格的 “标准终结点摘要” 页上查看或执行任务。
创建新的标准终结点配置
可按下列方法创建新的标准终结点配置:
右键单击 “标准终结点” 节点,然后选择 "新建标准终结点配置 … " 在对话框中选择绑定类型,然后单击 “确定”。
选择 “标准终结点” 节点,然后单击 "新建标准终结点配置 … "。 在窗口左下方的任务窗格中。
“创建新的标准终结点” 对话框将显示并列出所有已注册的标准终结点类型。
查看和编辑标准终结点配置
可按下列方法打开标准终结点配置以供查看和编辑:
单击以展开 “标准终结点” 节点并单击相应的终结点子节点。
单击 “标准终结点” 节点,然后单击详细信息窗格中的相应终结点。
终结点的特性将显示在右侧窗格中以供编辑。
删除标准终结点配置
可按下列方法删除标准终结点配置:
单击以展开 “标准终结点” 节点,然后右键单击相应的终结点子节点。 使用上下文命令 “删除标准终结点配置” 删除终结点。
单击 “标准终结点” 节点。 在任务窗格中,单击 “删除标准终结点配置”。
如果使用标准终结点,则当你尝试删除它时,将显示一条警告消息:正在使用标准终结点。如果你现在删除,请确保在配置的其他部分(例如,在服务终结点或客户端终结点)中删除其所有引用。否则,配置将无效,并且下次无法打开。是否确实要删除标准终结点? "
绑定
绑定配置用于配置终结点上的绑定。 此类配置设置存储在 “绑定” 节点中。 终结点按名称引用绑定配置,并且多个终结点可引用同一个绑定配置。
“绑定” 节点显示配置文件中的所有绑定设置。 树中的每个子节点对应于配置文件中 <> 元素中的子元素 bindings 。
单击 “绑定” 节点后,可以在 “详细信息” 窗格中的 “绑定摘要” 页上查看或执行任务。
创建新的绑定配置
可按下列方法创建新的绑定配置。
右键单击 “绑定” 节点,然后选择 “新建绑定配置…” 在对话框中选择绑定类型,然后单击 “确定”。
选择 “绑定” 节点,然后单击 “新建绑定配置…” 在窗口左下方的任务窗格中。
在 “服务” 或 “客户端摘要” 页中,单击 “绑定配置” 字段中的 “单击” 以创建对应终结点的绑定配置。
向自定义绑定添加绑定元素扩展
选择要向其添加扩展元素的绑定。
单击“添加”。
从可用扩展列表中,选择要添加的绑定元素扩展。 按住 Ctrl 键的同时进行选择可选择多项。
单击“添加”。
调整自定义绑定中的扩展位置
自定义绑定是形成堆栈的绑定元素集合。 堆栈中的每个绑定元素都有其自己的配置设置。 绑定元素扩展在自定义绑定中的顺序指示它们在堆栈中的位置。 堆栈顶部的元素首先得到应用。 若要更改顺序:
选择自定义绑定节点。
选择 “绑定元素扩展位置” 部分中的一个绑定扩展元素。
使用列表左侧的 “向上” 或 “向下” 按钮更改所选元素的位置。
编辑自定义绑定中的绑定元素扩展的配置
选择树中的绑定节点。
选择包含要编辑的元素的自定义绑定。
选择要编辑的绑定元素扩展。 该元素的设置将出现在右窗格中,可在其中编辑这些设置。
诊断
“诊断” 节点显示配置文件中的所有诊断设置。 它使你能够打开或关闭性能计数器、启用或禁用 Windows Management Instrumentation (WMI)、配置 WCF 跟踪以及配置 WCF 消息日志记录。 诊断节点中的设置对应于配置文件中的 <system.diagnostics> 部分和 部分 <system.serviceModel> 。
单击 “诊断” 节点后,可以在 “详细信息” 窗格中的 “诊断摘要” 页上查看或执行任务。
配置性能计数器和 WMI
单击 “诊断” 节点。
单击 “切换性能计数器”。 性能计数器有三种状态:Off(默认)、ServiceOnly 和 All。 单击链接可在这三种状态之间切换设置。
配置 WMI 提供程序
单击 “诊断” 节点。
若要启用 WMI 提供程序,请单击 “启用 Wmi 提供程序” 链接。
启用 WCF 跟踪
可创建具有标准属性的 WCF 跟踪文件,或者设置自定义的跟踪文件。
单击 “诊断” 节点。
单击 “启用跟踪”。
单击 “跟踪级别” 链接以调整跟踪级别。 有六种跟踪级别:“禁用”、“严重”、“错误”、“警告”、“信息”和“详细”。 活动跟踪和传播活动选项使您能够使用 WCF 活动跟踪功能。
单击跟踪侦听器名称指定跟踪文件和选项。
启用 WCF 日志记录
可创建具有标准属性的 WCF 跟踪文件,或者设置自定义的跟踪文件。
单击 “诊断” 节点。
单击 “启用消息日志记录”。
单击 “日志级别” 链接以调整日志级别。 有 3 种日志级别:“格式错误”、“服务”和“传输”。
单击侦听器名称指定日志文件和选项。
备注
如果希望在应用程序关闭时自动刷新跟踪和消息日志,请启用 “自动刷新” 选项。
“诊断****摘要” 页面使你可以完成配置诊断中最常见的任务。 但是,如果要手动编辑 “侦听器” 和 “源” 设置,则必须在 “消息日志记录”、“侦听器和源” 节点中展开 “诊断” 节点并编辑设置。
启用 WCF 自定义跟踪或消息日志记录
单击 “诊断” 节点,并将其展开。
右键单击 “侦听器” 节点,然后选择 “新建侦听器”。
在InitData字段中键入跟踪文件名。 可以单击 "…"用于浏览到路径的按钮。
单击 " TypeName " 行将显示 "…"鼠标. 单击此按钮可打开 “跟踪侦听器类型浏览器”,您可以使用该浏览器查找已经安装的预配置跟踪侦听器。
请注意 “源” 部分。 在此部分中单击 “添加” 以打开一个对话框,其中包含一个下拉菜单,其中列出了可用的跟踪源。 选择跟踪源,并单击 “确定”。
若要编辑消息日志记录设置,请单击 “消息日志记录” 节点。 可在属性网格中编辑这些设置。
高级
行为
“行为” 节点显示配置文件中当前定义的行为。
行为配置用于配置终结点和服务的行为。 此类配置设置存储在 “服务行为和终结点行为” 下的 “高级” 节点中。 服务行为由服务使用;而终结点行为则由终结点使用。
行为是形成堆栈的一系列扩展元素。 堆栈顶部的元素首先得到应用。 每个扩展元素可有其自己的配置。
创建新的行为配置
可通过以下两种方法创建新的行为配置。
右键单击某个行为节点,然后选择 "新建行为配置 … "
选择某个行为节点,然后单击 “新建行为配置…” 在窗口左下方的任务窗格中。
向行为中添加行为元素扩展
选择一个行为节点。
选择要编辑的行为。
单击“添加”。
从可用扩展列表中,选择要添加的行为元素扩展。
单击“添加”。
调整行为中的扩展位置
行为是形成堆栈的元素集合。 堆栈中的每个元素都有其自己的配置。 行为元素扩展在行为中的顺序指示它们在堆栈中的位置。 堆栈顶部的元素首先得到应用。 若要更改顺序:
选择一个行为节点。
选择要编辑的行为。
选择 “行为元素扩展位置” 部分中的行为扩展元素。
使用列表左侧的 “向上” 或 “向下” 按钮更改所选元素的位置。
编辑行为元素扩展的配置
选择树中的一个行为节点。
选择包含要编辑的元素的行为。
选择要编辑的行为元素扩展。 该元素的设置将出现在右窗格中,可在其中编辑这些设置。
ProtocolMapping
使用本节,可以通过协议地址方案和可能的绑定之间已定义的映射,来设置不同协议(如 http、tcp、MSMQ 或 net.pipe)的默认绑定类型。 还可以添加对其他协议的新映射。
扩展
可注册新的绑定扩展、绑定元素扩展、标准终结点扩展和行为扩展以在 WCF 配置中使用。 扩展是名称/类型对。 名称定义扩展在配置中的名称,而类型则实现该扩展。 有四种类型的扩展:
绑定扩展定义整个绑定类型。 示例:basicHttpBinding。
绑定元素扩展定义绑定的元素。 示例:textMessageEncoding。
标准终结点扩展定义整个标准终结点。 示例:discoveryEndpoint。
行为元素扩展定义行为的元素。 示例:clientVia。
可像使用同类型的任何其他 WCF 组件一样使用已在配置中注册的扩展。
添加新扩展
选择高级节点中的某个扩展节点:
单击 “新建”。
输入名称和类型。
单击“确定”。
扩展现在出现在编辑器中的适当位置。 例如,如果添加了行为元素扩展,它将出现在可用扩展的列表中。
宿主环境
本节介绍如何为服务主机环境定义实例化设置。
使用向导创建配置文件
创建新配置文件的一种方法是使用“新建服务元素向导”。 向导将查找计算机上已安装的服务类型以及与 WCF 兼容的其他元素(包括 COM + 和 Web 承载的虚拟目录),并加载它们以使创建配置更加简单。
创建配置文件
使用命令窗口导航到 WCF 安装位置,然后键入,启动服务配置编辑器 SvcConfigEditor.exe 。
从 “文件” 菜单中,选择 “打开”,然后单击 “可执行文件、 com + 服务或WebHosted 服务”,具体取决于要创建的配置文件的类型。
在 “打开” 对话框中,导航到要为其创建配置文件的特定文件,然后双击该文件。
在 “文件” 菜单中,指向 “添加新项”,然后单击 “服务”。 “新建服务元素向导”随即打开。
按照向导中的步骤创建新服务。
备注
如果想要从向导生成的配置文件中使用 NetPeerTcpBinding,你必须手动添加一个绑定配置元素,并将其 mode 元素的 security 特性设置为“None”。
配置 COM+
使用服务配置编辑器可以为现有 COM+ 应用程序创建新的配置文件,或者编辑现有的 COM+ 配置。 仅当配置文件中存在 <> 部分时,才会显示 " COM 约定" 节点 comContract 。
创建新的 COM+ 配置
创建新的 COM+ 配置之前,请确保您的 COM+ 应用程序已安装在 Component Services 中,并已在全局程序集缓存 (GAC) 中注册。
选择 “文件” 菜单->集成 -> com + 应用程序。 此操作将关闭当前打开的文件。 如果当前文件中有未保存的数据,将显示“保存”对话框。 然后,将启动Com + 集成向导。
在第一页中,从树中选择 COM+ 应用程序。 如果在树中找不到您的 COM+ 应用程序,请验证它是否已安装在组件服务中,并已在全局程序集缓存 (GAC) 中注册。
在下一页中,选择将要哪个(哪些)方法公开为 WCF 服务。 默认情况下,COM+ 应用程序中支持的所有方法都将显示并被选中。
选择宿主方法。
根据向导中的指导配置其他设置。
服务配置编辑器在后台利用 ComSvcConfig.exe 来生成配置文件。 此操作完成后,可查看摘要,然后退出向导。 生成的配置文件将打开,您可以直接进行编辑。
编辑现有 COM+ 配置
选择 “文件” 菜单->打开" -> com + 服务…"
从列表中选择要编辑的 COM+ 服务。
编辑 " COM 约定" 节点中的配置设置。
备注
也可以直接打开并编辑包含 COM 约定的配置文件。
安全性
不能保证配置编辑器生成的服务配置文件是安全的。 请参阅安全文档,了解如何保护 WCF 服务。
此外,只能使用配置编辑器来读取和写入有效的 WCF 配置元素。 工具将忽略符合架构的用户定义元素。 工具不会尝试从配置文件中移除这些元素,或确定它们对已知 WCF 元素的影响。 用户需要负责确定这些元素是否会对应用程序或系统构成威胁。