2009-05-07 7 views
1

Ich habe eine WPF-Browser-Anwendung erstellt, die ich zu einem WCF-Dienst verbinden möchten. Der Service entspricht der WPF-Anwendung. Es ist der Standard-Service, der von Visual Studio mit einer Methode erstellt genannt GetData (int)WPF zu WCF Permission Problem

Ich versuche, diesen Dienst mit dem folgenden Code zu nennen:

var client = new Service1.Service1Client(); 
client.GetData(10); 

ich folgende Fehlermeldung auf der oberen Zeile erhalten (client.GetData (10);)

{"Request for the permission of type 'System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."} 

helfen Bitte

+0

Funktioniert es, wenn Sie als Administrator ausgeführt werden? Öffnen Sie das Verzeichnis bin/debug und klicken Sie mit der rechten Maustaste auf Ausführen als Administrator für die EXE-Datei – bendewey

Antwort

3

Diese Lösung von Scott Lanford für mich gearbeitet:
http://www.codeexperiment.com/post/Debugging-XBAPWCF-Applications.aspx

Zitat:
Die möglichen Ursachen für diese Fehler sind zahlreich, aber in diesem Fall war es, da der Standard Debug-> Startaktion für ein Das XBAP-Projekt lautet "Browser in URL starten", wobei die URL einfach auf die .xbap-Datei auf der Festplatte verweist (z. B. C: \ Projekte \ MeinProjekt \ bin \ debug \ meinProjekt.xbap).

Für eine teilweise vertrauenswürdige XBAP Anwendung mit einem WCF-Dienst zu kommunizieren, sie aus der gleichen Domäne und Port als WCF-Dienst bereitgestellt werden müssen. Die Art und Weise, dieses Dilemma zu lösen, ist zu fälschen die XBAP URL durch die XBAP-Anwendung mit PresentationHost.exe Starten und Versorgen der XBAP URL (vom Wert „Browser mit URL Start“ kopiert) über die Debug-Parameter und die WCF-Service-URL über den debugSecurityZoneURL Parameter.

Zum Beispiel kann die Debugging-Optionen für Ihr XBAP Projekt sollten wie folgt aussehen:

Startaktion -> starten externes Programm = % windir% \ system32 \ PresentationHost.exe

starten Optionen -> Kommandozeilenargumente = debug "c: \ projects \ myproject \ bin \ debug \ MyProject.xbap" -debugSecurityZoneUrl "http://localhost:2022"