XAML 浏览器应用程序(XBAP)在部分信任的安全沙盒中运行,该沙盒仅限于 Internet 区域权限集。 此权限集仅将 Web 服务调用限制为位于 XBAP 应用程序的源站点上的 Web 服务。 不过,从 Visual Studio 2005 调试 XBAP 时,不会将其视为与其引用的 Web 服务具有同一来源站点。 这会导致 XBAP 尝试调用 Web 服务时引发安全异常。 但是,可以将 Visual Studio 2005 XAML 浏览器应用程序(WPF)项目配置为在调试时模拟与其调用的 Web 服务具有同一个起点。 这允许 XBAP 安全地调用 Web 服务,而不会造成安全异常。
警告
XBAP 要求旧版浏览器运行,例如 Internet Explorer 和旧版 Firefox。 这些较旧的浏览器通常在 Windows 10 和 Windows 11 上不受支持。 由于安全风险,新式浏览器不再支持 XBAP 应用所需的技术。 不再支持启用 XBAP 的插件。 有关详细信息,请参阅 有关 WPF 浏览器托管应用程序(XBAP)的常见问题解答。
配置 Visual Studio
若要配置 Visual Studio 2005 以调试调用 Web 服务的 XBAP,请执行以下作:
在 解决方案资源管理器中选择项目后,在 项目 菜单上,单击 属性。
在 项目设计器中,单击“ 调试 ”选项卡。
在 “启动作 ”部分中,选择 “启动外部程序 ”并输入以下内容:
C:\WINDOWS\System32\PresentationHost.exe
在 “开始选项” 部分中,在 命令行参数 文本框中输入以下内容:
-debug
文件名-debug 参数的文件名值为 .xbap 文件名;例如:
-debug c:\example.xbap
注释
这是使用 Visual Studio 2005 XAML 浏览器应用程序(WPF)项目模板创建的解决方案的默认配置。
在 解决方案资源管理器中选择项目后,在 项目 菜单上,单击 属性。
在 项目设计器中,单击“ 调试 ”选项卡。
在 “开始选项” 部分中,将以下命令行参数添加到 命令行参数 文本框:
-debugSecurityZoneURL
URL-debugSecurityZoneURL 参数的 URL 值是用于将某个位置模拟为您的应用程序源站点的 URL。
例如,请考虑使用具有以下 URL 的 Web 服务的 XAML 浏览器应用程序 (XBAP):
http://services.msdn.microsoft.com/ContentServices/ContentService.asmx
此 Web 服务的源 URL 站点为:
http://services.msdn.microsoft.com
因此,完整的 -debugSecurityZoneURL 命令行参数和值为:
-debugSecurityZoneURL http://services.msdn.microsoft.com