Silverlight и URL Rewrite - они играют хорошо? - PullRequest
0 голосов
/ 19 мая 2011

У меня приложение Silverlight, развернутое за брандмауэром с использованием IIS7, и я хотел бы переписать URL-адрес общедоступного URL-адреса, чтобы получить к нему доступ. Таким образом, http://someurl.com будет переписано в http://internalserver/Default.aspx,, вот как я настраиваю правило:

<rewrite>
        <rules>
            <rule name="WebSite_InboundRule" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" />
                <action type="Rewrite" url="http://internalserver/Default.aspx" appendQueryString="false" />
                <conditions logicalGrouping="MatchAny" />
            </rule>
        </rules>
    </rewrite>

В этот момент (после изменения некоторых относительных путей на абсолютные в оболочке ASPX) браузер получает страницу Default.aspx с http://someurl.com,, но затем страница становится пустой, а файл Silverlight.js является Последнее, что Fiddler показывает, что было загружено. Если щелкнуть правой кнопкой мыши на странице, откроется контекстное меню Silverlight, поэтому я предполагаю, что плагин Silverlight загружается нормально, но по какой-то причине не может загрузить файл XAP.

Любая помощь в этом очень приветствуется.

1 Ответ

0 голосов
/ 19 мая 2011

Проблема в том, что вы переписываете все входящие URL (включая такие, как http://someurl.com/MySilverlightApp.xap) в http://internalserver/Default.aspx. Поскольку это не возвращает действительный файл XAP, имеет смысл, что ваше приложение Silverlight выиграло не загружается. Необходимо добавить правило, которое перенаправляет запросы на файлы XAP в соответствующее внутреннее расположение этих файлов XAP.

...