2010-09-01 3 views
3

В настоящее время я создаю приложение, которое состоит из двух частей: пользовательского интерфейса и сервера администрирования. Передняя часть - это приложение ASP.NET MVC, а бэкэнд - приложение Silverlight. Я начал проект, создав бизнес-приложение silverlight под названием «Администрирование», добавив два проекта: приложение Silverlight (Администрирование) и веб-приложение для хостинга (Administration.Web). Я хочу использовать службы RIA с приложением silverlight, поэтому я добавил модель данных Entity и построил службу.Разбивка проекта служб WCF RIA

Проблема, с которой я сталкиваюсь, заключается в том, что я хотел бы добавить проект ASP.NET MVC и ссылку на проект, содержащий модель данных. Я бы предпочел, чтобы модель данных существовала в собственном проекте, а не одна, поэтому администратор и интерфейс могут ссылаться на библиотеку классов, а не на веб-приложение asp.net.

Возможно ли переместить файл .edmx в другой проект (библиотека классов) и продолжить работу служб RIA?

+0

Я также ищу ответ на этот вопрос ... если я найду его, попробую вернуться и ответить –

+0

Я не верю, что это возможно. Службам RIA нравится, чтобы модель была локальной для проекта. Я предполагаю, что это сработает, если вы переключитесь на использование POCOs, но я не уверен, какими будут преимущества этого. –

ответ

0

Это может быть возможно. Сначала добавьте вашу модель Entity в проект библиотеки классов и добавьте свои таблицы. Затем создайте веб-приложение и привяжите его к своей библиотеке классов. В своем веб-проекте добавьте службу домена, а в мастере выберите свою модель сущности (обязательно создайте проект библиотеки классов, иначе модель может не отображаться). Затем создайте приложение Silverlight, а для ссылки RIA Services выберите ваше веб-приложение. Затем вы можете создать веб-приложение ASP.NET MVC и иметь ссылку на свою библиотеку классов. Когда дело доходит до Silverlight, вы не сможете напрямую получить доступ к модели домена, так что это все равно должно быть выполнено через службу домена.

У меня нет машины, чтобы проверить это (это просто из памяти), поэтому, пожалуйста, дайте мне знать, если это не так. :)

+0

Ок ... не понимал, что это было задано в 2010 году! В любом случае, если это сработает, тогда это может быть полезно кому-то. :) – MotoSV

Смежные вопросы