Как интегрировать приложение Silverlight в Azure Cloud?

Я нашел этот отличный учебник по этой теме, но он оставляет несколько открытых вопросов http://www.silverlightshow.net/items/Silverlight-in-the-Azure-cloud-Part-1.aspx

При создании нового проекта Azure Cloud с пустыми ролями:

  1. Не лучше ли добавить существующий веб-проект Silverlight в качестве Webrole, как это предлагается в блоге?

  2. Или лучше создать новую веб-роль и связать ее с клиентом Silverlight?

Причина, по которой я спрашиваю, заключается в том, что мне нужно использовать метод переопределения OnStart() в моей WebRole для выполнения части задачи после того, как роль запущена и запущена. Требуемый класс WebRole.cs, очевидно, существует только на шаге 2.


person Houman    schedule 29.11.2011    source источник


Ответы (1)


Если вам нужно, вы можете просто скопировать или создать новый класс WebRole; это просто класс, который наследует RoleEntryPoint. Среда выполнения Windows Azure всегда будет отражать развернутую роль в поисках класса, наследующего RoleEntryPoint; это одинаково как для веб-ролей, так и для рабочих ролей.

Я обычно советую клиентам сохранять свой проект Silverlight как отдельный проект и развертывать файл *.xap через хранилище BLOB-объектов, а не вне веб-роли. В конце концов, это просто еще один статистический ресурс, и подход к хранилищу BLOB-объектов имеет следующие преимущества: а) не пережевывает тактовые циклы, обслуживающие статический файл, и б) легче использовать CDN, что упростит работу конечного пользователя. немного лучше.

person Chris J.T. Auld    schedule 29.11.2011
comment
Привет Крис, Спасибо за ваш ответ. Это отличная новость, что я могу просто добавить этот файл и поэтому могу придерживаться решения 1). По поводу ваших дополнительных комментариев. Я понимаю, что вы хотите иметь файл XAP в хранилище. Таким образом, если клиент обновлен, но не служба, мы просто скопируем xap и все готово. Поправьте меня, если я ошибаюсь, но если сервисная сторона будет обновлена, мы все равно не сможем обновить весь экземпляр виртуальной машины, верно? Поэтому, если для приложения Silverlight требуется доступ к базе данных/службе, вам в любом случае нужен бэкенд, который сидит там и пережевывает тактовые циклы. - person Houman; 29.11.2011
comment
Что вы имели в виду под CDN, пожалуйста? Спасибо - person Houman; 29.11.2011
comment
Спасибо, Ричард. CDN звучит многообещающе для ускорения доступа к файлу xap. Однако CDN будет нормально работать для медиафайлов и xap (клиент). Но серверная часть (веб-проект, который подключается к базе данных и т. д.) по-прежнему должна работать на экземпляре виртуальной машины Azure, верно? - person Houman; 01.12.2011