How to: Configure Visual Studio to Debug a XAML Browser Application to Call a Web Service
XAML browser applications (XBAPs) run within a partial-trust security sandbox that is restricted to the Internet zone set of permissions. This permission set restricts Web service calls to only Web services that are located at the XBAP application's site of origin. When an XBAP is debugged from Microsoft Visual Studio 2005, though, it is not considered to have the same site of origin as the Web service it references. This causes security exceptions to be raised when the XBAP attempts to call the Web service. However, a Microsoft Visual Studio 2005 XAML Browser Application (WPF) project can be configured to simulate having the same site of origin as the Web service it calls while debugging. This allows the XBAP to safely call the Web service without causing security exceptions.
Configuring Visual Studio
To configure Microsoft Visual Studio 2005 to debug an XBAP that calls a Web service:
With a project selected in Solution Explorer, on the Project menu, click Properties.
In the Project Designer, click the Debug tab.
In the Start Action section, select Start external program and enter the following:
C:\WINDOWS\System32\PresentationHost.exe
In the Start Options section, enter the following into the Command line arguments text box:
-debug filename
The filename value for the -debug parameter is the .xbap filename; for example:
-debug c:\example.xbap
Note
This is the default configuration for solutions that are created with the Visual Studio 2005 XAML Browser Application (WPF) project template.
With a project selected in Solution Explorer, on the Project menu, click Properties.
In the Project Designer, click the Debug tab.
In the Start Options section, add the following command-line parameter to the Command line arguments text box:
-debugSecurityZoneURL URL
The URL value for the -debugSecurityZoneURL parameter is the URL for the location that you want to simulate as being the site of origin of your application.
As an example, consider a XAML browser application (XBAP) that uses a Web service with the following URL:
http://services.msdn.microsoft.com/ContentServices/ContentService.asmx
The site of origin URL for this Web service is:
http://services.msdn.microsoft.com
Consequently, the complete -debugSecurityZoneURL command-line parameter and value is:
-debugSecurityZoneURL http://services.msdn.microsoft.com