Мишка на Сервере - Днем и Ночью

Блог Михаила Черномордикова

Одновременная поддержка Beta 2 и RC0 (RTW)

Одновременная поддержка Beta 2 и RC0 (RTW)

  • Comments 1

  Я уже писал о выходе RC0 и о хорошей возможности подготовиться к выходу финальной версии Silverlight - т.н. Ready to Web (RTW). То есть релиз.

  Возникает резонный вопрос - вот в день Х выходит RTW. Часть пользователей ставит финальную версию, а часть пользователей все еще использует Beta 2. Последним будет предложено обновится до финальной версии, но ведь не все сразу это делают. Что же делать? Текущие сайты на Beta 2 работать не будут под релиз. Сайты на RC0 работать под релиз будут.

  Что ж, существует интересный выход из этой ситуации, если вы считаете, что часть пользователей все равно какое-то время будет оставаться на Beta2. Его в своем блоге изложил Лоренс Мороуни.

  Пусть у вас есть две версии приложения:

  • Версия на Beta 2 - 'MyB2App.xap'
  • Версия на RC0 (совместим с RTW) - 'MyRTWApp.xap'

  При внедрении объекта Silverlight на страницу в первый период вы используете следующий код (в это время еще много пользователей используют Beta2):

   1: <object data="data:application/x-silverlight," type="application/x-silverlight-2-b2" width="100%" height="100%">
   2:     <param name="source" value="MyB2App.xap"/>
   3:       <param name="onerror" value="onSilverlightError" />
   4:       <param name="background" value="white" />
   5:         
   6:       <object data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%">
   7:           <param name="source" value="MyRTWApp.xap"/>
   8:             <param name="onerror" value="onSilverlightError" />
   9:             <param name="background" value="white" />
  10:             
  11:             <a href="http://go.microsoft.com/fwlink/?LinkID=115261" style="text-decoration: none;">
  12:                 <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
  13:         </a>
  14:     </object>
  15: </object>

   Как видно, в этом случае сначала идет объект на Beta 2 (обратите внимание на type = "application/x-silverlight-2-b2" и далее ссылка на MyB2App.xap), а внутри этого объекта используется объект под RTW (application/x-silverlight-2 и MyRTWApp.xap).

  Это означает, что если у пользователя установлена Beta 2, то у него запустится версия под нее. Если у пользователя установлен уже RTW, то он пропустит первый объект (в системе нет обработчика типа x-silverlight-2-b2 и затем запустит версию под RTW.

  С течением некоторого периода времени все больше пользователей перейдут на RTW. В этом случае можно сделать код наоборот:

   1: <object data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%">            
   2:     <param name="source" value="MyRTWApp.xap"/>   
   3:     <param name="onerror" value="onSilverlightError" />
   4:     <param name="background" value="white" />
   5:     <object data="data:application/x-silverlight," type="application/x-silverlight-2-b2" width="100%" height="100%">
   6:         <param name="source" value="MyB2App.xap"/>
   7:         <param name="onerror" value="onSilverlightError" />
   8:         <param name="background" value="white" />
   9:         <a href=http://go.microsoft.com/fwlink/?LinkID=&lt;RTW LINK> style="text-decoration: none;">
  10:             <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
  11:         </a>
  12:     </object>
  13: </object>
    Таким образом, пользователи смогу постепенно перейти на финальную версию, при этом ваш сайт будет полностью работоспособен для максимального количества пользователей.
Leave a Comment
  • Please add 1 and 6 and type the answer here:
  • Post
  • Я уже писал о выходе RC0 и о хорошей возможности подгото

Page 1 of 1 (1 items)