Wie Sie erstellen / erhalten eine Cross-Domain-Politik für einen iis7 Wcf-Dienst?
-
19-09-2019 - |
Frage
Das fehlende Glied in meiner IIS7 + Silverlight 3.0 + WCF-Dienst App ist die Cross-Domain-Politik. Gibt es Anweisungen, wie eine solche Politik zu schaffen / erhalten. Ich verstehe, dass es zwei XML-Dateien, die in dem Web-Root des App gehen müssen. Was ich in ihnen stelle, wie kann ich sie zu formatieren, hat einige Vorlage gibt, die anzeigt, welche Felder ausgefüllt werden müssen? Gibt es Anweisungen irgendwo auf Msdn die erklären, wie dies zu tun? Ich bin gerade dabei, aus möglichen Bedingungen Abfrage Google mit, würden alle Hinweise dankbar.
Danke, Brian
Lösung
Silverlight sieht für clientaccesspolicy.xml (was ist spezifisch für Silverlight), wenn das ist nicht gefunden wird es auf crossdomain.xml zurückgreifen, die auch durch Flash zum Beispiel verwendet werden kann. Sie müssen nur eine dieser (Buchsen nur Arbeit mit clientaccesspolicy.xml aber webclient und http Arbeit mit beiden).
Lets Stick mit clientaccesspolicy.xml für jetzt, da es weniger Einsprüche und die crossdomain.xml Unterstützung wurde nur mit Blitz, da öffentliche Dienste wie Flickr bereits eine haben, um aufzuholen hinzugefügt.
Die DTD einschließlich Beschreibung für clientaccesspolicy.xml ist unter diese Seite auf MSDN
Dieser Grund Beispiel Ihren Einstieg sollte
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/> <!-- Allows calls from every domain -->
</allow-from>
<grant-to>
<resource path="/api" include-subpaths="false"/> <!-- Only allows domain/api? to be called nothing else including api.txt, api/foo etc... -->
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
Andere Tipps
Nun, ich denke, das ist die Antwort sein könnte, aber auch andere Antworten sind sicherlich begrüßen zur Diskussion, esp. da wir kippen den Faden noch irgendwie in der Nähe ...