(перепост из-за сбоя SO; извинения за повторное появление другого)
Я создаю приложение Silverlight, которое будет работать на Azure. У моего решения VS есть два проекта: веб-роль и Silverlight. У веб-роли есть служба, которая работает. (Я могу перейти к localhost:88/expenseservice.svc/expenses
и получить нужные данные.)
Я пытаюсь получить доступ к этим данным из Silverlight:
private void MainPage_Loaded(object sender, RoutedEventArgs args)
{
WebClient data = new WebClient();
data.DownloadStringCompleted += new DownloadStringCompletedEventHandler(data_DownloadStringCompleted);
Uri dataSource = new Uri("localhost:88/expenseservice.svc/expenses");
data.DownloadStringAsync(dataSource);
}
void data_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show(e.Error.InnerException.Message);
return;
}
// ...
}
Однако это не работает. В окне сообщения отображается ошибка:
Префикс URI не распознан.
Вот полное исключение:
e.Error.InnerException = {System.NotSupportedException: The URI prefix is not recognized.
at System.Net.WebRequest.Create(Uri requestUri)
at System.Net.WebClient.GetWebRequest(Uri address)
at System.Net.WebClient.DownloadStringAsync(Uri address, Object userToken)}
Это жалуется на localhost
? Я должен делать что-то по-другому? Возможно, для этого и используется «Добавить справочник услуг»?