2011-07-16 6 views
0

Je suis tout nouveau à silverlight et cherche un peu de direction. J'ai une application de galerie simple écrite avec silverlight. Je voudrais pouvoir dans cet exemple, juste ftp un fichier xml ou json au serveur dans un dossier que l'application sait regarder, et avoir l'application silverlight ouvrir le fichier. Le fichier contiendrait une catégorie de galerie, son titre desc, les images et leur titre, desc. Je voudrais deseralize ces données à utiliser pour montrer la nouvelle catégorie téléchargée. J'ai fait ce genre de chose plusieurs fois dans wpf, mais je ne vois pas comment trouver la meilleure façon de gérer cela en Silverlight. Merci pour toute direction, et s'il vous plaît laissez-moi savoir si je dois fournir plus d'informations. Je téléchargerais également les images, le fichier xml ou json contiendrait l'information à lier à eux.silverlight - ouverture d'un fichier

Répondre

1

vous devez utiliser le WebClient pour cela. Voici un petit exemple:

public MainPage() 
     { 
      InitializeComponent(); 

      GetFileContent("http://localhost/test/myjson.txt", ProcessResult, error => { throw error; }); 
     } 

     private void ProcessResult(String result) 
     { 
      //Do stuff here 
     } 

     private void GetFileContent(String uri, Action<String> onData, Action<Exception> onError) 
     { 
      var wc = new WebClient(); 

      DownloadStringCompletedEventHandler handler = null; 

      handler = (s, args) => 
      { 
       wc.DownloadStringCompleted -= handler; 
       if(args.Error != null) 
       { 
        if(onError != null) 
         onError(args.Error); 
        return; 
       } 

       if(onData != null) 
        onData(args.Result); 
      }; 
      wc.DownloadStringCompleted += handler; 

wc.DownloadStringAsync (nouveau Uri (uri, UriKind.Absolute)); }

Vous pouvez jeter un oeil ici http://msdn.microsoft.com/en-us/library/cc197955(v=vs.95).aspx, parce que vous avez besoin d'une politique clientaccess pour accéder au fichier.

Est-ce ce que vous cherchez?

BR,

TJ

+0

Merci d'avoir répondu, je veux vous assurer que je comprends quelque chose. Même si mon application, et le fichier album xml ou json, ainsi que les images sont des sessions sur le même serveur, quelque chose comme/installé à la racine de mon compte, et le fichier xml de l'album est à quelque chose comme/album et les images sont peut-être/Album/Images, j'ai besoin de télécharger le fichier xml? Est-ce parce que l'application Silverlight est exécutée du côté client? et a besoin de récupérer les fichiers du serveur? – Terco

+0

Oui, vous devez le télécharger, car l'application sl est en cours d'exécution sur le client. Vous pourriez mettre le fichier dans votre xap, alors vous ne devriez pas le télécharger à nouveau. Mais alors vous n'êtes pas vraiment dynamique, car chaque fois que vous changez le fichier, vous devez recompiler et redéployer. – TerenceJackson