Политика Silverlight Socket не работает - PullRequest
1 голос
/ 26 августа 2009

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

<?xml version="1.0" encoding ="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from>
        <domain uri="*" />
      </allow-from>
      <grant-to>
        <socket-resource port="8400" protocol="tcp" />
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

Используя инструмент тестирования TCP, я убедился, что при подключении к порту 943 и отправке запроса я получаю обратно этот файл политики.

Кроме того, используя точки останова на моем сервере политики, я подтвердил, что приложение Silverlight достигает службы и, по-видимому, служба отправляет файл политики без ошибок.

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

Однако каким-то образом подключение Silverlight к моей службе push-передачи данных всегда прерывается с ошибкой WinSock 10013 Access Denied.

Единственное, что я могу подумать, это то, что мой файл политики не верен, хотя, насколько я вижу, он соответствует спецификации. Дайте мне знать, если вы хотите, чтобы я опубликовал любой другой мой код. Любая помощь будет оценена.

1 Ответ

2 голосов
/ 26 августа 2009

Оказывается, мой порт был вне зоны досягаемости. Silverlight может подключаться только к портам 4502-4534.

...