对于 .NET Framework 项目, 服务引用 使项目能够访问一个或多个 WCF 数据服务。 使用 “添加服务引用 ”对话框在当前解决方案、本地、局域网或 Internet 上搜索 WCF 数据服务。
对于 .NET Core 项目,可以使用解决方案资源管理器中的连接服务节点访问 Microsoft WCF Web 服务引用提供程序,这样就可以管理 Windows Communication Foundation (WCF) 数据服务引用。
注释
您的计算机可能会显示本文中某些 Visual Studio 用户界面元素的不同名称或位置。 你可能使用的是不同版本的 Visual Studio 或不同的环境设置。 有关详细信息,请参阅 个性化 IDE。
先决条件
WCF 工具未随 .NET 工作负载一起安装;使用 Visual Studio 安装程序修改安装。 在安装程序中,在“单个组件”下选择 “Windows Communication Foundation ”。 请参阅修改 Visual Studio。
添加 WCF 服务引用
添加对外部服务的引用(适用于 .NET Framework 项目)
在 解决方案资源管理器中,右键单击要向其添加服务的项目的名称,然后选择“ 添加服务引用”。
此时会显示 “添加服务引用 ”对话框。
在 “地址 ”框中,输入服务的 URL,然后选择 “转到” 搜索服务。 如果服务实现用户名和密码安全性,系统可能会提示你输入用户名和密码。 还可以在自己的解决方案中选择服务。 选择“ 发现 ”按钮,然后选择 “解决方案中的服务”。
注释
应仅引用来自受信任源的服务。 从不受信任的源添加引用可能会危及安全性。
还可以从 “地址 ”列表中选择 URL,该 URL 存储找到有效服务元数据的前 15 个 URL。
执行搜索时会显示进度栏。 可以通过单击“ 停止”随时停止搜索。
在 “服务 ”列表中,展开要使用的服务的节点并选择实体集。
在 “命名空间 ”框中,输入要用于引用的命名空间。
单击 “确定 ”以添加对项目的引用。
生成服务客户端(代理),并将描述服务的元数据添加到 app.config 文件中。
添加对外部服务的引用(.NET Core 项目,包括 .NET 5 及更高版本)
在 解决方案资源管理器中,双击或点击 “连接的服务 ”节点。
此时会打开 “配置服务 ”选项卡。
选择 Microsoft WCF Web 服务引用提供程序。
此时会显示“ 配置 WCF Web 服务引用 ”对话框。
在 URI 框中,输入服务的 URL,然后选择 “转到” 以搜索服务。 如果服务实现用户名和密码安全性,系统可能会提示你输入用户名和密码。
注释
应仅引用来自受信任源的服务。 从不受信任的源添加引用可能会危及安全性。
还可以从 URI 列表中选择 URL,用于存储找到有效服务元数据的前 15 个 URL。
执行搜索时会显示进度栏。 可以通过单击“ 停止”随时停止搜索。
在 “服务 ”列表中,展开要使用的服务的节点并选择实体集。
在 “命名空间 ”框中,输入要用于引用的命名空间。
单击“ 完成 ”以添加对项目的引用。
生成服务客户端(代理),并将描述服务的元数据添加到 app.config 文件中。
在当前解决方案中添加对服务(.NET Framework 项目)的引用
在 解决方案资源管理器中,右键单击要向其添加服务的项目的名称,然后选择“ 添加服务引用”。
此时会显示 “添加服务引用 ”对话框。
单击“ 发现”。
当前解决方案中的所有服务(WCF 数据服务和 WCF 服务)都会添加到 “服务 ”列表中。
在 “服务 ”列表中,展开要使用的服务的节点并选择实体集。
在 “命名空间 ”框中,输入要用于引用的命名空间。
单击 “确定 ”以添加对项目的引用。
服务客户端(代理)生成,描述服务的元数据将添加到 app.config 文件中。
在当前解决方案(.NET Core 项目)中添加对服务的引用
在 解决方案资源管理器中,双击或点击 “连接的服务 ”节点。
此时会打开 “配置服务 ”选项卡。
选择 Microsoft WCF Web 服务引用提供程序。
此时会显示“ 配置 WCF Web 服务引用 ”对话框。
单击“ 发现”。
当前解决方案中的所有服务(WCF 数据服务和 WCF 服务)都会添加到 “服务 ”列表中。
在 “服务 ”列表中,展开要使用的服务的节点并选择实体集。
在 “命名空间 ”框中,输入要用于引用的命名空间。
单击“ 完成 ”以添加对项目的引用。
服务客户端(代理)生成,描述服务的元数据将添加到 app.config 文件中。
更新服务引用
WCF 数据服务的实体数据模型有时会更改。 发生这种情况时,必须更新服务引用。
更新服务引用
在 解决方案资源管理器中,右键单击服务引用,然后选择“ 更新服务引用”。
当引用从其原始位置更新时,将显示进度对话框,并重新生成服务客户端以反映元数据中的任何更改。
对于 .NET Core 项目,请使用该工具 dotnet-svcutil
。 有关安装和说明,请参阅 dotnet-svcutil 。
对于 .NET Framework 项目:
在 解决方案资源管理器中,展开 “连接服务 ”节点,右键单击服务引用,然后选择“ 更新服务引用”。
当引用从其原始位置更新时,将显示进度对话框,并重新生成服务客户端以反映元数据中的任何更改。
删除服务引用
如果不再使用服务引用,则可以将其从解决方案中删除。
删除服务引用
在 解决方案资源管理器中,右键单击服务引用,然后选择“ 删除”。
服务客户端将从解决方案中删除,描述服务的元数据将从 app.config 文件中删除。
注释
必须手动删除所有引用该服务引用的代码。