Basics of the Security Policy System
Eine zusätzliche Einschränkung auf die Sockets-Klassen ist, dass der Zielportbereich, der eine Netzwerkanwendung zu erlaubt ist, muss eine Verbindung von 4502-4534 im Bereich sein. Dies sind die einzigen Zielports, die von einer Verbindung aus einer Silverlight -Anwendung mit Sockets zulässig sind. Wenn sich der Zielport nicht innerhalb dieses Bereichs befindet, schlägt der Verbindungsversuch fehl. Es ist möglich, dass ein Zielserver Verbindungen von diesem eingeschränkten Bereich an einem Port empfängt und ihn an einen anderen Port (z. B. einen bekannten Port) umleitet, wenn dies zur Unterstützung eines bestimmten vorhandenen Anwendungsprotokolls erforderlich ist.
Ich würde denken, dass eine Verengung der Reichweite von Ports würde die verfügbaren TCP-Sockets begrenzen. Sie zeigen eine Example Policy File for Sockets here
<?xml version="1.0" encoding ="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="file:///" />
</allow-from>
<grant-to>
<socket-resource port="4502-4506" protocol="tcp" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
Unter Berufung auf die folgende Dokumentation von MS
To use a clientaccesspolicy.xml file to allow cross-domain access
Um den Dienst für den Zugriff über TCP-Sockets zu aktivieren, fügen <socket-resource port="4502" protocol="tcp" />
zum <grant-to>
Element, in dem die 4502
ist der Port-Wert, auf dem der Service gehostet wird.
Domain Beispiel
Diese Richtliniendatei akzeptiert Verbindungen nur aus den Domänen und Schema spezifiziert. Diese Richtliniendatei gibt bestimmte Anforderungsheader an und gibt Ressourcen an, auf die zugegriffen werden kann.
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="MyHeader, X-API-*">
<domain uri="http://electronics.fabrikam.com"/>
<domain uri="http://books.fabrikam.com"/>
<domain uri="http://contoso.com:8080"/>
</allow-from>
<grant-to>
<socket-resource port="4502-4506" protocol="tcp" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
Für die oben Politik, die unten aufgeführt sind Silverlight HTTP-Anwendungen erlaubt den Zugriff auf die aufgeführten Ports haben:
http://electronics.fabrikam.com/sample/app.xap
http://books.fabrikam.com/web/sample/app.html
http://contoso.com:8080/sample/app.xap
Für die oben Politik, die unten aufgeführten Silverlight-Anwendungen sind nicht zu haben, erlaubt Zugang zu den aufgeführten Ports:
http://electronics.fabrikam.com:8080/sample/app.xap
http://electronics.fabrikam.com:8080/sample/app.xap
http://bar.com/sample/app.xaml
https://bar.com/sample/app.html
die folgenden HTTP-Request-Header können (zusätzlich zu den Content-Type-Header, der immer erlaubt ist) gesendet werden:
MyHeader
all headers starting with X-API-
Ressourcen Network Security Access Restrictions in Silverlight
Verwendung von ' ' oder Variationen es scheint nicht leider zu arbeiten, und auch nicht ' '. –
dlanod