ошибка Silverlight - операция не поддерживается для относительного URI - PullRequest
2 голосов
/ 01 апреля 2009

Я только начал разрабатывать приложения Silverlight. Я создал webserivce в своем проекте asp.net. Теперь, когда я пытаюсь подключиться к нему через свой проект silverlight, я получаю следующую ошибку:

"Операция не поддерживается для относительного URI"

Я использую следующий URL ->

http://192.168.1.2/MyWebsite/SubVersionedHistory.svc

Я могу найти класс и его методы, но я получаю эту ужасающую ошибку, когда добавляю его.

Спасибо за вашу помощь и советы,

Vondiplo

Ответы [ 4 ]

2 голосов
/ 06 мая 2009

Я не думаю, что вы одиноки в решении этой проблемы. Я столкнулся с этим сегодня, когда VS2008SP1 + SL2 пытается создать ссылку на службу для службы данных ADO.NET. Первый раз, когда я нажал на ошибку.

Другие имеют подробные аналогичные события для достижения этой ошибки:

http://silverlight.net/forums/t/87535.aspx http://silverlight.net/forums/t/56629.aspx

На данный момент не совсем ясно, связана ли проблема с диалоговым окном "Добавить ссылку на службу" в среде IDE или что-то определенное в службах, вызывающих эту ошибку. В моем случае, однако, мой код все еще работал, несмотря на сообщение об ошибке. Я просто передал URL своей службе в конструкторе моего прокси-клиента DataService, например:

var context = new DataServiceContext(new Uri("NorthwindDataService.svc", UriKind.Relative));

Сводка: если вы нажали эту ошибку в IDE, ваша справочная служба может все еще работать. Попробуйте и дайте нам знать, если вы видите ошибки во время выполнения.

Надеюсь, это поможет.

[ОБНОВЛЕНИЕ] Основываясь на других советах, которые я нашел и протестировал, вы также можете попробовать:

  1. удаление ссылки на сервис
  2. удаление файла ServiceReferences.ClientConfig
  3. сохранение вашего решения
  4. , а затем закрытие и повторное открытие в VS.

Было показано, что простой процесс закрытия и повторного открытия вашего проекта позволяет устранить некоторые проблемы с помощью мастера добавления служб. Перезапустите мастер Add Service Ref, и вам может повезти. Я лично проверил это решение на проекте сегодня и могу подтвердить, что оно работает. Надеюсь, это поможет вам найти решение.

1 голос
/ 02 апреля 2009

Может быть, этот ответ может помочь вам

Вы не можете использовать AbsolutePath, Вам необходимо использовать AbsoluteURL. Создайте свой URL следующим образом: URL-адрес Uri = новый Uri (App.Current.Host.Source, "../settings.xml");client.DownloadStringAsync(url);

http://silverlight.net/forums/p/28912/95541.aspx

НТН Braulio

1 голос
/ 01 апреля 2009

Вы должны быть более конкретными о вашей проблеме. Например, возникает ли у вас эта проблема при добавлении ссылки или когда вы на самом деле пытаетесь использовать службу?

Похоже, вам нужно использовать полный путь, включая "http://", но это просто выстрел в темноте на основании сообщения об ошибке, которое вы предоставляете.

[править] Если вы используете встроенный сервер ASP.NET вместо IIS, убедитесь, что вы установили конкретный номер порта и используете его в своем пути. Например, я использовал http://localhost:4940/MyService.svc для тестирования [/ edit]

0 голосов
/ 25 августа 2011

Проверьте ServiceReferences.ClientConfig

если есть несколько конечных точек, вы получите это исключение. одна вещь, которая может вызвать это, - это ссылка на службу с помощью casini, позднее переход на IIS express и повторная ссылка на службу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...