Я только начал изучать Silverlight, и меня интересует типичная архитектура приложения Silverlight и рабочий процесс в приложении (я использую Silverlight 2, но скоро перейду на 3).
В моем тестовом приложении у меня в настоящее время есть только два проекта по умолчанию - MyProject и MyProject.Web. Я знаком с шаблоном MVVM и организовал свой код, используя это. Однако у меня возникают проблемы с пониманием того, что происходит на клиенте, а что на сервере - и как мне это определить? Я предполагаю, что слой ViewModel находится на клиенте - связь с уровнем Model находится на сервере. Но как они будут общаться? Используете WCF? Должна ли серверная часть моего приложения быть определена в отдельном проекте? И должна ли клиентская часть иметь ссылку на это?
Я столкнулся с проблемами, когда хотел настроить модель для взаимодействия с SQL Server с использованием LINQ to SQL. Элементы «LINQ to SQL» не разрешены в проектах Silverlight, и если я добавлю это в отдельный проект библиотеки классов, я не смогу ссылаться на этот проект из своего проекта Silverlight как; Msgstr "Вы можете добавлять в проект ссылки только на другие проекты Silverlight".
Любая информация, которая может просветить мое понимание архитектуры и рабочего процесса, очень ценится. Спасибо.