C # silverlight - звонки WCF - PullRequest
       10

C # silverlight - звонки WCF

0 голосов
/ 05 февраля 2011

У меня есть приложение silverlight, которое вызывает несколько вызовов службы WCF.Silverlight и WCF расположены на локальном хосте.когда я запускаю приложение silverlight, но оно вызывает сбой при вызовах WCF в исключительной ситуации связи.Я понимаю из Интернета, что это может быть потому, что WCF и silverlight не работают на одном и том же порту, и мне нужно добавить файл clientaccesspolicy.xml.но я не понял, что такое «корень домена», я должен найти там XML.не могли бы вы сообщить мне путь, по которому я должен найти xml (на локальном хосте)

спасибо!

Ответы [ 3 ]

1 голос
/ 06 февраля 2011

«Корень домена» - это корневой адрес HTTP-домена, в котором вы размещаете приложение Silverlight. Это немного нелогично, но помните, что файл политики имеет дело с междоменными проблемами сценариев.

Так что если для любого из них:

http://www.yourdomain.com

http://www.yourdomain.com/app

http://www.yourdomain.com/app1/PageSilverlightNeedsToHit.aspx

http://www.yourdomain.com/app1/Service1.svc

http://www.yourdomain.com/apps/yourapp/folders/services/versions/otherlongnames/

Вы должны иметь действительный файл clientaccesspolicy.xml на

http://www.yourdomain.com/clientaccesspolicy.xml

Простой тест - это получить этот URL (http://www.yourdomain.com/clientaccesspolicy.xml) от посредника) и убедиться, что вы вернули XML-код доступа. Это будет имитировать поведение Silverlight.

Если это невозможно для вашей настройки хостинга, пожалуйста, ответьте. Для этого запроса есть другие параметры (пользовательский обработчик iis и т. Д.), Но в зависимости от ваших потребностей они могут быть излишними.

0 голосов
/ 06 февраля 2011

Добавьте clientaccesspolicy.xml в свой хостинг-проект silverlght в Visual Studio, например, MyProject.Web. Короче говоря, поместите его рядом с Web.config вашего приложения.

0 голосов
/ 06 февраля 2011

Я только вчера сделал это с помощью службы WCF, размещенной на IIS. Я помещаю XML-файл в c: \ inetpub \ wwwroot (я думаю. Он на моей машине на работе).

Если вы не размещены в IIS, это может отличаться. Когда я впервые разработал свой сервис, я сделал это как самодостаточный exe. В этом случае я не использовал файл XML. Вместо этого я внедрил еще один «сервис» в свой exe-проект с собственным хостингом. Служба автоматически создала файл XML. У меня нет подробностей под рукой. Я могу опубликовать дополнительную информацию в понедельник, если вы не решили свою проблему к тому времени.

А пока смотрите эту ссылку:

Где разместить ClientAccessPolicy.xml для локальной службы WCF?

Или вот этот:

Как сделать так, чтобы операция политики доступа клиента моей службы WCF была доступна из корня?

...