2011-02-05 3 views
0

У меня есть приложение silverlight, которое имеет несколько вызовов службы WCF. Оба Silverlight и WCF расположены на локальном хосте. когда я запускаю приложение silverlight, но он не работает в вызовах WCF в исключении связи. Iv'e понимает, что это может быть из-за того, что WCF и Silverlight не работают на одном и том же порту, и мне нужно добавить файл clientaccesspolicy.xml. , но я не понял, что такое «корень домена», я должен найти там xml. Не могли бы вы сообщить мне путь, по которому я должен найти xml там (на localhost)C# silverlight - вызовы WCF

спасибо!

ответ

0

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

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

В то же время, эта ссылка:

Where to place ClientAccessPolicy.xml for Local WCF Service?

Или это одно:

How can I get my WCF service's client access policy operation to be accessible from the root?

+0

Можете ли вы разместить дополнительную информацию о собственном хостинге? как отдельный exe может быть в проекте silverlight? – gln

0

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

1

«Корень домена» является корневым адресом домена 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 и т. Д.), Но в зависимости от ваших потребностей они могут быть чрезмерными.

Смежные вопросы