Hier ist eine Möglichkeit. Ich weiß nicht wirklich, ob es der beste Weg ist oder nicht, aber es funktioniert.
// requires System.Net namespace
WebRequest request = WebRequest.Create(_url);
using (var response = request.GetRespone())
using (var stream = response.GetResponseStream())
{
RasImage image = Load(stream);
}
UPDATE: Es sieht aus wie in Silverlight, die WebRequest
Klasse keine GetResponse
Methode hat; Sie haben keine andere Wahl, als dies asynchron zu tun.
Unten finden Sie einen Beispielcode, der veranschaulicht, wie Sie vorgehen könnten. (Ich warne dich: Ich habe das gerade geschrieben, ohne viel darüber nachzudenken, wie sinnvoll es ist. Wie du diese Funktionalität implementierst, wäre wahrscheinlich ganz anders. Auf jeden Fall solltest du dir zumindest einen Überblick darüber verschaffen, was du brauchst do.)
WebRequest request = WebRequest.Create(_url);
IAsyncResult getResponseResult = request.BeginGetResponse(
result =>
{
using (var response = request.EndGetResponse(result))
using (var stream = response.GetResponseStream())
{
RasImage image = Load(stream);
// Do something with image.
}
},
null
);
Console.WriteLine("Waiting for response from '{0}'...", _url);
getResponseResult.AsyncWaitHandle.WaitOne();
Console.WriteLine("The stream has been loaded. Press Enter to quit.");
Console.ReadLine();
Ein ähnlicher, aber kürzerer Ansatz wäre die Verwendung von 'WebClient.OpenRead'. –
@Fredrik: Schön, wusste nicht darüber. Geht zu zeigen, gibt es fast immer mehr als eine Möglichkeit, eine Katze zu häuten. –
Leute, diese Methoden scheinen nicht im System.Net für das Silverlight zu sein, irgendwelche Hinweise .... 'request.GetRespone())' oder 'WebClient.OpenRead' Ich kann sie nicht verwenden – VoodooChild