» »

Cross domain dostop do XML - Silverlight

Cross domain dostop do XML - Silverlight

brinovcek ::

Pozdravljeni,

imam težave z Silverlightom, ker sem se ga šele lotil delati za potrebe demo programčka za diplomsko nalogo in sicer. Moj problem je v Cross domain accessu saj mi Silverlight ne dovoli povezovanja izven lokalnega omrežja oz to dovoljuje ob pravilni vpeljavi datoteke clientaccesspolicy.xml. Ker sme prebral vse živo pa mi ni uspelo sem se obrnu tukaj... upam da je kdo delal kej s tem in me zanima kam sploh bi mogu nastavit to datoteko glede na to da bom stran lavfal iz VS podatke pa pobiral od njekje le za vir pri izrisovanju grafa?

Program je sila enostaven in na lokalnem nivoju deluje:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.IO;

using System.Xml.Linq;

namespace SilverlightReadXML
{
    public partial class MainPage : UserControl
    {

        /* 
        pod do datoteke xml file (webapp/ClientBin/Assets/)
        private const string strConfigMapServicePath = "XMLdokument.xml"; //<-ta stvar dela, ker je na lokalnem računalniku
        */
        private const string strConfigMapServicePath = "http://www.nlb.si/?a=tecajnica&type=companies&format=xml";
        public MainPage()
        {
            InitializeComponent();

            WebClient client = new WebClient();
            client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);

            Uri uri = new Uri(strConfigMapServicePath, UriKind.RelativeOrAbsolute);
            client.OpenReadAsync(uri);
        }

        protected void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
        {
            if (e.Error != null) return;
           
            textBlock1.Text = e.Result.Length.ToString() + " Dela :)";
            
        }
    }
}


Na loakcijo C:\inetpub\wwwroot (upam da je to root za domeno) sem shranil tudi datoteko clientaccesspolicy.xml v kateri sem definiral naslednje:

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from>
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>


Zanima me kaj delam narobe oz. kaj bi moral narediti, da bi šla stvar skozi ? Pa hvala za vse informacije.

darkolord ::

To seveda ne gre tako - clientaccesspolicy.xml bi moral postaviti na nlb.si :)

Postavi servis na tvojem strežniku, ki bo bral podatke iz nlb in jih vračal SL clientu.

brinovcek ::

Pa delajo stvari če oni nimajo tega dokumenta tudi ob uporabi WCF ? ker se mučim z njim pa ne vem kako bi pripeljal podatke na vhod da bi delalo...

darkolord ::

S server-side aplikacijo lahko do tja seveda brez dežav dostopaš.

Zgodovina sprememb…

  • spremenilo: darkolord ()

brinovcek ::

Fantje hvala, sem že prišel do rešitve.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

UserControl v Wrappanelu WPF

Oddelek: Programiranje
51142 (964) hurlimannxt
»

[c#] LinkedList branje poljubnega elementa

Oddelek: Programiranje
161548 (1457) FrEaKmAn
»

branje iz datoteke c#

Oddelek: Programiranje
141642 (1371) darkolord
»

C# textbox polnjenje

Oddelek: Programiranje
71627 (1492) Mitja Bonča
»

c# class

Oddelek: Programiranje
342264 (1858) japol

Več podobnih tem