Доставка Silverlight в объект HTML или встраивание тега base64 закодированных данных - PullRequest
0 голосов
/ 18 февраля 2010

Возможно base64 кодировать изображение и доставить его как часть html-контента, используя <img src="data:image/gif;base64,UEsDBBQAAAgIALp9...MTs9Snj3==">

Я заметил, что тег объекта Silverlight должен выглядеть примерно так:

<object type="application/x-silverlight"  
    data="data:application/x-silverlight;base64,"   
    width="300" height="300">  
    <param name="source" value="myApp.xap"/>  
<object>

и, похоже, я смогу просто вставить это, используя ту же технику, что и с изображениями:

<object type="application/x-silverlight"  
    data="data:application/x-silverlight;base64,SOFIjoije3r8...WMDioaAAA=="   
    width="300" height="300">   
<object>

И пусть он загружает данные файла xap из кодировки base64 в параметре data. Но это не работает - он загружает плагин Silverlight, в IE или Firefox ошибок нет, но модуль xap не запускается.

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

Цель состоит в том, чтобы встроить Silverlight в серверный элемент управления asp.net без дополнительной сложности для разработчика, связанной с необходимостью размещения xap где-то и для разрешения uri xap и т. Д. Меня в первую очередь интересует загрузка xap из встроенной строки в кодировке base64, но если это невозможно, то для этого нужно найти хорошие решения для упрощения использования приложения Silverlight до одной строки кода.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 18 февраля 2010

Даже если вы заставите его работать, я рекомендую против этого approroach по следующим причинам:

  1. Время загрузки всей страницы будет длинным
  2. Это не использует преимущества кэширования XAP в браузере, поэтому при каждой загрузке страницы необходимо прочитать xap.
0 голосов
/ 22 февраля 2010

Я ценю время, которое вы все потратили, чтобы посмотреть на мой вопрос. Я обнаружил, что «лучшим решением» является WebResource.axd - он дает нам возможность загружать ресурсы непосредственно из правильно оформленной сборки только благодаря ее присутствию. Это потрясающе. Я решил, что потребовать, чтобы потребители добавляли все виды мусора в web.config для пользовательских httpHandlers или чего-то еще, но оказывается, что WebResource.axd включен с asp.net 2.0 для этой цели.

Вот статья, которую я нашел, объясняющая все это:

http://www.4guysfromrolla.com/articles/080906-1.aspx

...