Полезная библиотека классов Silverlight со ссылкой на библиотеку классов .NET - PullRequest
0 голосов
/ 20 сентября 2010

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

Прямо сейчас я хотел бы знать, как я могу использовать классы моей Модели в такой библиотеке классов SIlverlight. Я сгенерировал классы POCO в EF4.0 для приложения ASP.NET MVC2. Все отлично работает, но теперь я хотел бы использовать некоторые из этих классов - создавать элементы управления silverlight, некоторые классы ViewModel и заполнять мои элементы управления данными, передаваемыми из моей модели, используемой в приложении ASP.MVC, через ViewModel.

Все должно быть протестировано в любом простом приложении Silverlight, и в конце я хотел бы иметь возможность использовать эту библиотеку классов в приложении Silverlight и на веб-сайте ASP.MVC 2 ...

Ответы [ 2 ]

1 голос
/ 20 сентября 2010

Silverlight - это собственная среда выполнения, и в общем случае вы не можете смешивать обычные сборки .NET и сборки Silverlight.

Однако, один вариант - поделиться исходным кодом, связав один и тот же исходный файл с двумя проектами, которые компилируются в разные среды выполнения.

Другой вариант - использовать Службы RIA WCF , где Visual Studio будет генерировать код для создания классов вашей модели в проекте Silverlight, а также есть варианты для совместного использования кода между уровнями. Вы также получите сервис для работы с объектами от Silverlight. Сервис может быть построен поверх EF4.0 с очень небольшим количеством кода.

Наконец, Silverlight 4 и .NET 4 в некоторых случаях могут совместно использовать сборки при соблюдении определенных критериев. См. Вопрос переполнения стека с именем Проблема общего доступа к сборке Silverlight 4 .

0 голосов
/ 20 сентября 2010

Что вам нужно сделать, это использовать общий код.

вы делаете это, добавляя существующий файл в проект.В диалоговом окне добавления файла есть кнопка на кнопке, которая отображает опцию добавления как ссылки.

смысл в том, что у вас не может быть двух проектов, нацеленных на разные CLR, но содержащих одинаковый код и ссылки на пространство имен... вы можете использовать их, чтобы иметь код, который работает на обеих версиях CLR очень просто.

Это действительно довольно мощный.У меня есть один набор тестов, который может быть нацелен на обе версии.

Конечно, вы ограничены набором общих функций, но это в любом случае является частью ваших требований.

Вы даже не можете пройтиобъекты над сервисом и десериализацию их в другой CLR.Удивительно, насколько хорошо вы можете использовать симметрию

В настоящее время я использую это для проекта и добиваюсь того, чего вы хотите, и после нескольких часов игры с действительно удивительно безболезненным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...