Fragensteller
Client Access Policy im IIS7 keine Reaktion

Frage
-
Hallo,
was muss ich noch im IIS7 einstellen, das ich eine email von meiner HP senden kann.
Im Localhost hat es geklappt, aber im IIS7 nicht, in der Client Access Policy sind sternchen sollen diese bleiben
?xml version="1.0" encoding="utf-8" ?> <access-policy> <cross-domain-access> <policy> <allow-from http-request-headers="*"> <domain uri="*" /> </allow-from> <grant-to> <resource path="/" include-subpaths="true"/> </grant-to> </policy> </cross-domain-access> </access-policy>
Wie gesagt vom localhost hat es geklappt, aber nicht im IIS 7
Danke- Bearbeitet Bergfeuer Dienstag, 13. September 2011 16:01
Sonntag, 11. September 2011 18:06
Alle Antworten
-
Hi,
dann fehlt dir ggfs. noch die crossdomain.xml. Siehe dazu auch:
http://dotnet-redzone.blogspot.com/2010/04/cross-domain-calls-for-silverlight.html
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET CommunitySonntag, 11. September 2011 18:21 -
hallo,
hab jetzt ohne was zu verändern die
crossdomain (ohne was zu verändern):
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-http-request-headers-from domain="*" headers="*"/> </cross-domain-policy>
eingefügtdie clientaccesspolicy sieht so bei mir aus:
<?xml version="1.0" encoding="utf-8" ?> <access-policy> <cross-domain-access> <policy> <allow-from http-request-headers="*"> <domain uri="*" /> </allow-from> <grant-to> <resource path="/" include-subpaths="true"/> </grant-to> </policy> </cross-domain-access> </access-policy>
fidler zeigt bei der hp im web auch nichts an..
muss ich da nicht noch was wegen berechtigung im IIS einstellen???
Danke für die hilfe
- Bearbeitet Bergfeuer Montag, 12. September 2011 14:47
Montag, 12. September 2011 14:47 -
HEUL - ich bekomme es nicht hin. auch im internet finde ich niergends ein beispiel..
die beiden dateien sind inhalt und kopieren wenn neuer..
muss was in den service rein damit die dateien angesprochen werden, muss ich was im IIS verändern..
bin echt fast am verzweifeln....
Dienstag, 13. September 2011 09:20 -
Hi,
poste doch zuerst mal die genaue und vollständige Fehlermeldung. Vorher ist das eh nur Rätselraten.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET CommunityDienstag, 13. September 2011 09:55 -
der hate das gleiche problem
Dienstag, 13. September 2011 12:30 -
habe jetzt sowas gefunden
<OperationContract(), WebGet(UriTemplate:="/clientaccesspolicy.xml"> Public Sub SendMail(ByVal emailTo As String, ByVal emailFrom As String, ByVal messageSubject As String, ByVal messageBody As String) Dim message As New MailMessage() message.From = New MailAddress(emailFrom) message.[To].Add(New MailAddress(emailTo)) message.Subject = messageSubject message.Body = messageBody message.IsBodyHtml = True
Aber ich weiß nicht wie ich das weiter mach muss, irgendwei kommt da nich ne funktion rein..Hilfe...!!
Dienstag, 13. September 2011 14:12 -
Ich hab mir für die ClientAccessPolicy.xml einen eigenen CrossDomainService geschrieben (da wir das mehrfach benötigen), welcher dann in einem Dienst bzw. Konsolenapplikation gehostet wird und die Datei bei Anfrage zurück gibt.
Das Interface:
[ServiceContract] public interface ICrossDomainService { [OperationContract] [WebGet(UriTemplate = "ClientAccessPolicy.xml")] Message ProvidePolicyFile(); }
die Implementierung dazu:
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)] public class CrossDomainService : ICrossDomainService { private string fPolicy; public CrossDomainService(string policy) { fPolicy = policy; } internal static ServiceHost Create(string baseAddress, string policy) { // Existiert die ClientAccess-Policy? if (File.Exists(policy) == false) { throw new FileNotFoundException(SR.ErrorPolicyNotFound, policy); } // ServiceHost erzeugen ServiceHost crossDomainServiceHost = new ServiceHost(new CrossDomainService(policy), new Uri[] { new Uri(baseAddress) }); // Endpoint erzeugen ServiceEndpoint endpointCrossDomainService = crossDomainServiceHost.AddServiceEndpoint(typeof(ICrossDomainService), new WebHttpBinding(), baseAddress); endpointCrossDomainService.Behaviors.Add(new WebHttpBehavior()); return crossDomainServiceHost; } #region ICrossDomainService Member public Message ProvidePolicyFile() { // Die ClientAccessPolicy.xml zurückgeben XmlReader reader = XmlReader.Create(fPolicy); return Message.CreateMessage(MessageVersion.None, "", reader); } #endregion }
und hier das Beispiel zum Erzeugen des ServiceHost in einer Konsolenapplikation oder ähnlichem:ServiceHost crossDomainServiceHost = CrossDomainService.Create("http://localhost:8010/", @"c:\pfad\ClientAccessPolicy.xml"); crossDomainServiceHost.Open();
hoffe ich hab alles drin und nichts vergessen, in der Config brauchst dann noch glaub ich das HttpBinding... (c;
- Bearbeitet Jo0815 Mittwoch, 21. September 2011 07:17
Freitag, 16. September 2011 10:56 -
Einen Policy Server gibt's bei Codeplex fertig, falls das was hilft: http://policyserver.codeplex.com/
Daniel
http://www.silverlight-community.de - deutsche Community mit Tutorials, Blogs und UsergroupsFreitag, 16. September 2011 18:19