2009-03-07 3 views
1

Я пытаюсь реализовать клиентское приложение Silverlight 2, которое берет данные с сервера через связь на основе сокетов.Как использовать сокеты в Silverlight 2?

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

Мне интересно, действительно ли это так, и если запись сервера будет огромной задачей. Вы рекомендуете остановиться в Silverlight 1? Я знаю, что в Silverlight 1 связь сокетов должна выполняться в ASP.NET. Я стремился к тому, чтобы клиентская логика выполнялась на C#, но с Silverlight 1, я считаю, что я могу использовать Javascript и общаться с ASP.NET ...

Спасибо за любые ответы!

ответ

0

Я немного подумал, и я собираюсь использовать ASP.NET для подключения к серверу с сокетами, а затем использовать доступ к WebClient для подключения к веб-серверу, никаких политик не требуется, поскольку это сайт происхождения. Мне еще нужно создать html-страницу, которая обеспечивает аналогичную функциональность для SL 2-клиента, поэтому это не большая проблема.

1

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

+0

Я сомневаюсь, что из статьи, с которой вы связались, кажется, что система политики безопасности для сокетов влияет как на сайт-источник, так и на доступ к междоменной сети. В S2B1 это было не так, но я хочу использовать готовую/отправленную/самую последнюю версию. –

+0

Кажется, что только в случае, если файл политики silverlight не найден: «Если файл политики Silverlight не найден, среда выполнения Silverlight 2 затем пытается загрузить политику Flash с именем« crossdomain.xml »в корне запросил целевой домен, используя протокол HTTP ». –