Можно ли повторно использовать приложение Silverlight в разных областях моей страницы? - PullRequest
0 голосов
/ 28 апреля 2009

У меня есть одно приложение Silverlight, которое я хотел бы отобразить в сетке. То, как приложение Silverlight отображает свое содержимое, зависит от уникального идентификатора записи в каждой строке сетки. К сожалению, файл XAP повторно загружается для каждой строки в сетке. С размером 700 КБ это действительно влияет на производительность. Можно ли загрузить файл XAP один раз, а затем просто повторно использовать его для каждой строки в сетке?

Ответы [ 3 ]

1 голос
/ 02 мая 2009

После загрузки XAP Silverlight будет кэшировать сборки и т. Д. Локально для каждого экземпляра элемента управления Silverlight. Если вы создаете другой экземпляр элемента управления Silverlight, он, в свою очередь, имеет собственный домен, за которым он, в свою очередь, присматривает.

Мое предложение состоит в том, чтобы абстрагировать детали, которые вы запрашиваете, и запекать их в отдельный xaml, а затем загружать их в области, где они вам нужны больше всего. Если вам все еще требуется центральный файл .xap для управления распределением / управлением событиями и т. Д., То в Silverlight 3 мы создали API локального подключения, который позволяет другим экземплярам Silverlight общаться друг с другом на одной странице браузера локально (т.е. поговорите с SilverlightB в index.html)

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

Скотт Барнс / Менеджер по продуктам Rich Platforms / Microsoft.

0 голосов
/ 28 апреля 2009

Это возможно, но не легко сделать. Вы можете скачать xap и сохранить его в IsolatedStorage и создавать хост silverlight каждый раз, когда вам нужен один ссылающийся на ваш кэшированный xap, но у вас есть только 1 МБ свободного места, и вы не гарантированы, если у вас есть другие приложения silverlight из того же домена.

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

0 голосов
/ 28 апреля 2009

Я не уверен, что ты можешь. Теоретически это должно быть кэшировано, но в этом случае теория не стоит приседать.

Все дело в том, как тег ведет себя с различными параметрами, и это (еще одна) одна из "редко" документированных областей silverlight.

...