更新:2007 年 11 月
XAML 浏览器应用程序 (XBAP) 在一个限于 Internet 区域权限集的部分信任的安全沙盒中运行。此权限集将 Web 服务调用限于仅位于 XBAP 应用程序源站点的 Web 服务。但是,当在 Microsoft Visual Studio 2005 中调试 XBAP 时,并不将其视为具有与其引用的 Web 服务相同的源站点。当 XBAP 尝试调用 Web 服务时,这将导致引发安全异常。但是,可以配置 Microsoft Visual Studio 2005 XAML 浏览器应用程序 (WPF) 项目以在调试时模拟与其调用的 Web 服务具有相同的站点。这允许 XBAP 安全地调用 Web 服务,而不导致安全异常。
配置 Visual Studio
若要配置 Microsoft Visual Studio 2005 以对调用 Web 服务的 XBAP 进行调试,请执行以下操作:
配置 Microsoft Visual Studio 2005 以调试 XBAP(请参见如何:配置 Visual Studio 以调试 XAML 浏览器应用程序)。
在“解决方案资源管理器”中选定一个项目,然后在“项目”菜单中单击“属性”。
在“项目设计器”中,单击“调试”选项卡。
在“启动选项”部分,请将以下命令行参数添加到“命令行参数”文本框:
-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