Могу ли я повторно использовать приложение Silverlight в разных разделах моей страницы?

StackOverflow https://stackoverflow.com/questions/798714

Вопрос

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

Это было полезно?

Решение

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

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

Затем это может позволить вам установить что-то вроде локального прокси-сервера, если хотите.

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

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top