如何:配置 Visual Studio 以调试 XAML 浏览器应用程序来调用 Web 服务

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 的插件。

配置 Visual Studio

配置 Visual Studio 2005 以调试调用 Web 服务的 XBAP:

  1. 在“解决方案资源管理器” 中选择了项目的情况下,在“项目” 菜单上单击“属性” 。

  2. 在“项目设计器”中,单击“调试”选项卡

  3. 在“启动操作”部分,选择“启动外部程序”并输入以下内容

    C:\WINDOWS\System32\PresentationHost.exe

  4. 在“启动选项”部分的“命令行参数”文本框中输入以下内容

    -debugfilename

    -debug 参数的 filename 值是 .xbap filename;例如:

    -debug c:\example.xbap

注意

这是使用 Visual Studio 2005 XAML 浏览器应用程序 (WPF) 项目模板创建的解决方案的默认配置。

  1. 在“解决方案资源管理器” 中选择了项目的情况下,在“项目” 菜单上单击“属性” 。

  2. 在“项目设计器”中,单击“调试”选项卡

  3. 在“启动选项”部分,将以下命令行参数添加到“命令行参数”文本框中

    -debugSecurityZoneURLURL

    -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

另请参阅