| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > SilverLight WCF net.TCP |
| Автор: mvc 16.5.2011, 22:38 | ||||||
| Есть приложения которое реализовано на SilverLight передаю данные на СЛ с помощью WCF net.tcp . Создал WCFlib птом создал Windows Service написал апп.конфиг
Добавил референс в СЛ сгенерило СервайсРеференс.клиенконфиг
при запуске выдает ошибку Could not connect to net.tcp://localhost:4504/Service. The connection attempt lasted for a time span of 00:00:00.3380193. TCP error code 10013: An attempt was made to access a socket in a way forbidden by its access permissions.. This could be due to attempting to access a service in a cross-domain way while the service is not configured for cross-domain access. You may need to contact the owner of the service to expose a sockets cross-domain policy over HTTP and host the service in the allowed sockets port range 4502-4534. КлиентАксесПолиси.хмл закинул во все свои проджекты не помагает КлиентАксесПолиси.хмл
в чем проблема, помогите. |
| Автор: -Mikle- 17.5.2011, 00:07 |
| Вы не можете использовать net.tcp в силверлайте, если на стороне сервера не стоит IIS7 с настроенным WAS. Его надо закидывать не во все проджекты, а в корень веб-сайта, который хостит ваш сервис. В вашем случае сайта нет и вам необходимо вернуть его самим сервисом настроив http-maping. |
| Автор: mvc 17.5.2011, 10:13 |
| у меня вцф сервайс не на иис хостится а на Windows service как сетевая служба виндовс, получается нужно делать еще один ендПоинт на хттп биндинг? |
| Автор: -Mikle- 17.5.2011, 10:49 |
Как минимум, вам нужно научить ваш сервис возвращать ClientAccessPolicy.xml Где-то я видел как это делать, там все просто через хттп-мапинг (некий хттп-запрос мапится на метод, который и возвращает эксэмэлку). Но я все равно не уверен, можно ли силверлайт подружить с вин-сервисом, не пробовал связку. Экспериментируйте и о результатах пишите. |
| Автор: mvc 18.5.2011, 10:01 | ||||||||||||
| Добавляем новый интерфейс для сервиса(WCF)
в коде сервиса реализуем его
пишем мего конфиг
также в проджекты сервисов добавляем файл хмл
в Program.cs пишем такой код
на "Любимый SIlverLight" должны добавить нет.тсп иначе будет ругаться что сервайс передает СОАП http://imageshack.us/photo/my-images/691/201105180953.jpg/ после добавления должно сгенерить такой ServiceReferences.ClientConfig
когда добавили сервайс сам захоститься VS и при переходе на http://127.0.0.1/ClientAccessPolicy.xml должны увидеть такую картинку http://imageshack.us/photo/my-images/196/201105180956clientacces.jpg/ если есть вопросы пишите Skype: freedomdim или [email protected] |
| Автор: -Mikle- 18.5.2011, 13:07 |
| Это именно то, про что я говорил (типа хттп-мапинг на метод). Спасибо, что отписался с решением. |