Вот один из способов.Я действительно не знаю, лучший ли это способ или нет, но он работает.
// requires System.Net namespace
WebRequest request = WebRequest.Create(_url);
using (var response = request.GetRespone())
using (var stream = response.GetResponseStream())
{
RasImage image = Load(stream);
}
ОБНОВЛЕНИЕ : В Silverlight класс WebRequest
нет GetResponse
метод;у вас нет выбора, кроме как сделать это асинхронно.
Ниже приведен пример кода, иллюстрирующий, как вы можете это сделать.(Я предупреждаю: я написал это только сейчас, не задумываясь о том, насколько это разумно. Как вы решите реализовать эту функциональность, скорее всего, будет совсем по-другому.делать.)
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();