Ошибка подключения Silverlight к wcf

Примерно через месяц я разрабатываю свое приложение Silverlight (это мое первое). Все шло довольно гладко до сегодняшнего дня, когда совершенно неожиданно я начал получать это сообщение:

Произошла ошибка при попытке сделать запрос к URI http: // localhost: 2682 / Services / Authentication / LoginService.svc. Это могло быть связано с попыткой доступа к сервису междоменным способом без соответствующей междоменной политики или политики, которая не подходит для сервисов SOAP. Возможно, вам потребуется связаться с владельцем службы, чтобы опубликовать файл междоменной политики и убедиться, что он позволяет отправлять заголовки HTTP, связанные с SOAP. Эта ошибка также может быть вызвана использованием внутренних типов в прокси-сервере веб-службы без использования атрибута InternalsVisibleToAttribute. Пожалуйста, смотрите внутреннее исключение для более подробной информации.

Я использую службы WCF, и до сих пор эта проблема не возникала. Я добавил файлы clientdomain.xml и clientaccesspolicy.xml в свою папку [имя проекта] .web и переписал их примерно 1000 различными способами. Я также использовал Fiddler, и он показывает мне, что ошибка есть в обоих этих файлах, ошибка

[Fiddler] Ошибка подключения сокета к localhost.
ErrorCode: 10061.
Невозможно установить соединение, потому что целевая машина активно отказалась от него 127.0.0.1:2682

Я искал ошибку «10061», и она связана с определением сокета. Но я не мог найти для этого никакого решения.

Не знаю, связано ли это с этим, но мой порт "ASP.net Development Server" - 6939.

Имейте в виду, что приложение НЕ было развернуто, поэтому это происходит только локально. Я использую MS VS 2010 и MS SQL Server 2008.

Я делаю что-то не так, или это проблема с серебряным светом?

И последнее: я ничего не менял в конфигурации порта, сокета или службы. Последнее, что я делал, - это редактировал файл XAML на стороне клиента, и приложение начало выдавать мне эту ошибку.

Нужна помощь, ничего не могу сделать, пока проблема не будет решена !!!! Спасибо.


person David    schedule 16.04.2012    source источник
comment
Приложение Silverlight и служба wcf - это два отдельных решения Visual Studio?   -  person Shoaib Shaikh    schedule 16.04.2012
comment
Я думаю, что веб-сервер Visual Studio иногда автоматически переключает номер порта. Если номер порта отличается от номера порта, который использовался при добавлении ссылки на службу, в случае его изменения произойдет сбой. Вместо этого попробуйте использовать IIS. Это, вероятно, то, что вы в конечном итоге развернете, поэтому имеет смысл использовать его во время разработки.   -  person Henrik Söderlund    schedule 16.04.2012
comment
@ShoaibShaikh нет, они работают над одним проектом. Я уже понял проблему, но не причину. Спасибо   -  person David    schedule 16.04.2012
comment
@ HenrikSöderlund, спасибо за подсказку, это именно то, что произошло. Никогда не думал об этом до сих пор, я собираюсь взглянуть на IIS и внести необходимые изменения. Спасибо   -  person David    schedule 16.04.2012
comment
вы даже можете попробовать создать экземпляр клиентского прокси из кода вместо того, чтобы полагаться на ServiceReferences.ClientConfig.   -  person Shoaib Shaikh    schedule 16.04.2012


Ответы (2)


Я думаю, что вы используете свое приложение на localhost, и назначается динамический порт, и этот порт не фиксируется при каждом запуске, что вызывает проблему с отказом. если вы хотите это исправить, создайте твердый URL, например,

http://localhost/apps/Services/Authentication/LoginService.svc

person Abhimanyu    schedule 15.06.2012

Ну, вчера вечером, незадолго до того, как я пошел спать, я заметил кое-что странное. В моем файле «ServiceReferences.ClientConfig» порты конечных точек для каждой из моих служб отличаются от тех, которые использовала машина Silverlight, поэтому, догадываясь (и поскольку я достиг точки останова работоспособности), я решил удалить все свои службы Ссылки и повторно добавить их снова.

Я работал ... пойди разбери. До сих пор не знаю, почему это произошло, и если бы кто-нибудь мог пролить свет на эту тему, я был бы признателен. Меня раздражает необходимость повторно добавлять ссылки на все мои сервисы. Сейчас у меня их всего 6 штук, но в ближайшем будущем их может стать больше 20, и если это повторится ... ну, это будет настоящая боль ...

Спасибо

person David    schedule 16.04.2012