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 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 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.
Warning
XBAPs require legacy browsers to operate, such as Internet Explorer and old versions of Firefox. These older browsers are usually unsupported on Windows 10 and Windows 11. Modern browsers no longer support the technology required for XBAP apps due to security risks. Plugins that enable XBAPs are no longer supported. For more information, see Frequently asked questions about WPF browser-hosted applications (XBAP).
Configuring Visual Studio
To configure 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
filenameThe 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
URLThe 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
See also
.NET Desktop feedback