Je suis en train d'écrire une petite application Silverlight juste pour essayer Silverlight. Mon idée est de faire une petite application qui vérifie si les sites Web sont en ligne. Il fonctionne par l'utilisateur en entrant une URL et mon application vérifie le temps de disponibilité toutes les 5 minutes.appeler des sites Web externes de Silverlight
Mais quand je fais un webrequest, je reçois l'exception de sécurité ci-dessous. Lecture http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest(VS.95).aspx il semble indiquer que silverlight ne permet pas la connexion crossdomain. Donc, n'y a-t-il aucun moyen de faire fonctionner mon idée dans Silverlight?
code Exemple:
WebRequest testHTTP = null;
try
{
testHTTP = WebRequest.Create(serverToCheck);
}
catch (UriFormatException ufe)
{
try
{
testHTTP = WebRequest.Create("http://" + serverToCheck);
}
catch (UriFormatException ufe1)
{
MessageBox.Show("Invalid server address");
}
}
if (testHTTP != null)
{
testHTTP.BeginGetResponse(new AsyncCallback(doCheck), testHTTP);
}
void doCheck(IAsyncResult a)
{
try
{
HttpWebRequest req = (HttpWebRequest)a.AsyncState;
HttpWebResponse res = (HttpWebResponse)req.EndGetResponse(a);
Dispatcher.BeginInvoke(() => HTTPStatus.Content = "OK");
}
catch (Exception ex)
{
//handle exception
}
}
Exception: { System.Security.SecurityException ---> System.Security.SecurityException: erreur de sécurité. à System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse (IAsyncResult asyncResult) à System.Net.Browser.BrowserHttpWebRequest. <> c__DisplayClass5.b__4 (Object sendState) sur System.Net.Browser.AsyncHelper. <> c__DisplayClass2.b__0 (Object sendState) --- Fin de trace de pile d'exception interne --- à System.Net.Browser.AsyncHelper.BeginOnUI (SendOrPostCallback beginMethod, l'état de l'objet) à System.Net.Browser.BrowserHttpWebRequest. EndGetResponse (IAsyncResult asyncResult) à monitor.Home.doCheck (IAsyncResult a)}