Salut tous


Je fais quelques tests sur silverlight 1.1 et je rencontre déjà quelque chose que ne comprend pas bien :

sur ma page html j'ai un bouton et un label

associé au bouton :

Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
_ProgressLabel.SetProperty("innerHtml", "Retrieving ")
        _request = New BrowserHttpWebRequest(New Uri("mon doc .xml"))
        Dim iar As IAsyncResult = _request.BeginGetResponse(New AsyncCallback(AddressOf ReadFilesXml), _request)
        Thread.Sleep(2000)
donc la je mets mon label à "retrieving" pour informer que l'appel à commencer, je demande la lecture d'un fichier xml en asynchrone, et je fais une pose de 2 seconde pour faire genre "le serveur est long à répondre".


La fonction qui reprend la main :

Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 Private Sub ReadFilesXml(ByVal iar As IAsyncResult)
 
        Dim response As HttpWebResponse = CType(iar.AsyncState, HttpWebRequest).EndGetResponse(iar)
 
        ' If Not response.StatusCode <> HttpStatusCode.OK Then
 
        Dim content As Stream = response.GetResponseStream()
        Dim result As New StringBuilder()
        Using reader As XmlReader = XmlReader.Create(New StreamReader(content))
            While reader.Read()
...
_ProgressLabel.SetProperty("innerHtml", "")

donc la je lis mon fichier xml et ça fonctionne très bien.

Deux questions cependant :

1) Mon label ne passe pas par l'état "Retrieving ". Pourquoi ? je pensais que silverlight rafraichissait mes éléments en live

2) ' If Not response.StatusCode <> HttpStatusCode.OK Then : cette ligne est en commentaire, car le response. StatusCode est toujours à 0 (au lieu de 200=OK). Pourquoi? Je peux quand même lire le xml, c'est bizarre.


Merci