Silverlight clientaccesspolicy.xml ошибка? или дизайн? - PullRequest
7 голосов
/ 04 марта 2010

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

В частности, при разработке, если используемая служба размещается у третьей стороны, доступ с локальной отладочной версии приложения silverlight, работающего на сервере разработки localhost asp.net, отлично работает с узлами:

<domain uri="*"/>
<domain uri="http://*"/>
<domain uri="http://localhost:1234"/> 

(где 1234 - это определенный определенный номер порта)

но оно не будет работать, если указано в форме

<domain uri="http://localhost:*"/>

, что очень раздражает, если есть несколько разработчиков / проектов, использующих сервис, или вы не указали порт для сервера разработки asp.net

Кто-нибудь знает, просто ли я получаю неправильный формат или это ошибка или недосмотр при обработке клиентской политики доступа с помощью silverlight?

Ответы [ 2 ]

6 голосов
/ 09 марта 2010

Поведение, которое вы описываете, соответствует документации, в которой говорится:

Существует три типа подстановочных знаков допускается:

Автономный символ '*'. Этот вариант используется для разрешения доступа ко всем доменам по той же схеме. HTTP сервис позволит всем звонящим по HTTP. HTTPS услуга позволит всем абонентам HTTPS.

"http://*" буквальный подстановочный знак. Это опция явно разрешает все HTTP абоненты, даже если это HTTPS сервис.

Подстановочный знак субдомена. Эта опция использует подстановочный знак в первом сегменте путь ("http://.contoso.com", для пример), который позволяет всем поддоменам указанный домен Так что для пример. http://web.contoso.com и http://mail.contoso.com будет позволил. Обратите внимание, что путь Ури, где подстановочный знак не встречается как префикс (http://web..com, например) запрещено.

http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx

Так что нет ничего о подстановочных знаках для портов, что (вы правы) не имеет никакого смысла, когда вы разрешаете подстановочные знаки для хостов и доменов.

3 голосов
/ 30 августа 2010

Работа вокруг:

В разделе Свойства вашего веб-сайта, на котором размещено приложение SL, перейдите на вкладку Web и измените порт автоматического назначения на Определенный порт . Таким образом, вы можете установить свой порт localhost: 1234 в файле clientaccesspolicy, как вы уже проиллюстрировали, и ожидать, что он не потребует смены порта, независимо от того, какие разработчики также используют проект.

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

...