Bonjour à tous ....Je précise que je suis débutant en silverlight ....


J'ai monté un lecteur Vidéo avec plusieurs tutotriels piochés à droite et à gauche ...

je l'inclus dans une page aspx de mon site en cours de dévelopement ...
Quand je lance sur mon poste , donc sur mon serveur local de devloppement cela marche impeccable ...Mais lorsque je transfere mon appli chez mon hébergeur mon lecteur ne marche plus ...j'ai réussi à cerner l'erreur mais je ne la comprend pas ... je vous passe les trois ou quatre fonctions qui vous aiderons à comprendre mon développement et peut être me donner une piste ...

Je définis un objet MaVideo ou chemin est l'URL du fichier video à lire ...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
 
        public MaVideo(string chemin, string titre, string description, string urlminiature)
        {
            Chemin = chemin;
            Titre = titre;
            Description = description;
            UrlMiniature = urlminiature;
        }
sur le Page_Load de mon interface , je remplis mon objet avec les bonnes données et j'appelle ma fonction Go
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
                  Video = new MaVideo("http://centre-helio-marin.fr/Video/CHM01.wmv", "Monopousseur", "Monopousseurs au CHM", "http://centre-helio-marin.fr/Video/Image.jpg");
            Go(Video);             
 
        }
La fonction Go initialise une barre de progression maison et lance le télechargement de la video par la fonction ChargeLaVideao
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
       private void Go(MaVideo Video)
        {
 
            if (Video != null)
            {
                RectProgression.Width = 0;
                TxtProgression.Text = "";
                ChargeLaVideo(Video.Chemin);               
            }
        }
La fonction ChargeLaVideo gére la barre de progression et télecharge la vidéo avec la méthode OpenReadAsync, quand le téléchargement est terminé elle déclenche l'évement TelechargementTermine

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 
       private void ChargeLaVideo(string chemin)
        {
            WebClient wc = new WebClient();
            wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(TelechargementEnCours);
            wc.OpenReadCompleted += new OpenReadCompletedEventHandler(TelechargementTermine);
            wc.OpenReadAsync(new Uri(chemin));
 
        }
le gestionnaire d'évenement TelechargementTerminé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
 
       void TelechargementTermine(object sender, OpenReadCompletedEventArgs e)
        {
 
            if ((e.Error == null) && (e.Cancelled == false))
            {
                PlayerVideo.SetSource(e.Result);
                if (!string.IsNullOrEmpty(Video.Chemin))
                {
                    TxtDescriptionVideo.Text = Video.Description;
                    TxtProgression.Visibility = Visibility.Collapsed;
 
                    RectProgression.Visibility = Visibility.Collapsed;
                    BtLire.Visibility = Visibility.Visible;
                    BtPause.Visibility = Visibility.Visible;
                }
            }
        }
c'est dans cette fonction que je récupére l'erreur :


- e.Error {System.Security.SecurityException ---> System.Security.SecurityException: Erreur de sécurité.
à System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
à System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
à System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__1(Object sendState)
--- Fin de la trace de la pile d'exception interne ---
à System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
à System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
à System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
à System.Net.WebClient.OpenReadAsyncCallback(IAsyncResult result)} System.Exception {System.Security.SecurityException}
Je comprend pas ...je suis perdu ...

Je précise que quand je tape directement l'URL de ma vidéo dans IE ....elle se lit correctement dans le lecteur Windows Média (Essayer : http://centre-helio-marin.fr/Video/CHM01.wmv)


Si quelqu'un peut me dépanner je suis preneur ...

Merci d'avance ...

P.JEAN