Справочная информация
При разработке с помощью служб Windows Azure и WCF RIA я видел множество случайных ошибок и общих неприятных ситуаций, но эта действительно является вершиной.
У меня есть приложение со следующей архитектурой: 2 веб-роли (MVC3 и ASP.NET с Silverlight RIA) => Бизнес-уровень => Уровень данных (внешние службы / хранилище таблиц / SQL Azure).
Службы ASP.NET (профиль / роли / сеансы) хранятся в табличном хранилище.
В связи с недавними изменениями требований необходимо добавить мобильный сайт. Я хотел поделиться (на стороне сервера) ViewModels для обоих проектов GUI. Для иллюстрации:
Моя проблема
Теперь я получаю страшное исключение "Не найдено", когда мой проект размещен в среде Windows Azure. С помощью fiddler я обнаружил, что он возвращает следующее исключение:
Объект «XXModel» в DomainService «XXService» не
определите ключ. Типы сущностей, предоставляемые операциями DomainService
должно иметь хотя бы одно открытое свойство, помеченное KeyAttribute.
Странно то, что эта вещь работает безупречно в локальной среде разработки Azure, но не при загрузке в облако. Я думаю, что эта ошибка связана с тем, что ViewModels теперь находятся в другой сборке, чем RIA Services, но почему она будет работать локально, а не удаленно?
Если кому-то понадобится дополнительная информация, я буду рад ответить на ваши вопросы.