Доставка Silverlight в виде объекта HTML или встраивания данных в кодировке base64

Можно кодировать изображение в формате 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 в параметре данных. Но это не работает - он загружает плагин Silverlight, и в IE или Firefox нет ошибок, но модуль xap не запускается.

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

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

Спасибо!


person Jason Kleban    schedule 18.02.2010    source источник


Ответы (2)


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

  1. Время, необходимое для загрузки всей страницы, будет большим.
  2. При этом не используется кеширование XAP в браузере, поэтому каждый раз при загрузке страницы необходимо читать xap.
person Michael S. Scherotter    schedule 18.02.2010

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

Вот статья, которая все это объясняет:

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

person Jason Kleban    schedule 21.02.2010