Служба WCF с поддержкой Silverligtht и Prism - PullRequest
1 голос
/ 01 октября 2011

Мне необходимо написать приложение Silverlight с использованием WCF.

Мне также необходимо использовать Dependency Injection, чтобы получить доступ к этому сервису в другой библиотеке.

(я добавляю службу WCF с поддержкой Silverlight)

Проблема заключается в попытке использовать инъекцию зависимостей (в данном случае Prism / MEF).Когда я делаю общую библиотеку Silverlight, которая будет иметь интерфейсы для этой службы, я не могу добавить эту библиотеку в проект ASP.Net из-за того, что это библиотека Silverlight.Если я создаю не-Silverlight библиотеку, я не могу добавить эту библиотеку в другие проекты для совместного использования этого общего интерфейса.

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

Любая информация приветствуется

Ответы [ 2 ]

1 голос
/ 01 октября 2011

Как сказал Слагстер - это делается путем ссылки на файлы библиотеки windows из библиотеки silverlight.

Вы делаете это, как описано здесь: http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/20/linking-files-in-visual-studio.aspx

Я просто хотел добавить .. Поскольку выиди туда - то, что тебе нужно, это другой Framework / Technology.Обычно те классы, о которых вы говорите, зависят от других классов / пространств имен, которые живут только в окнах или только в серебряном свете.А затем вам нужно передать данные объекта по проводам.

Решение Microsoft для этого - RIA Services.Что он делает - он берет ваши классы Windows и генерирует прокси-классы на стороне Silverlight.Вид того, что вам нужно.И он работает со службами WCF.

Существуют сторонние решения, такие как CSLA и DevForce.Я использую DevForce, и он делает много вещей автоматически, но вместо того, чтобы генерировать прокси-классы - он создает ссылки так же, как вы хотите.

1 голос
/ 01 октября 2011

Независимо от того, понимаете вы это или нет, ваш вопрос является дубликатом этого вопроса: Общий объект данных между службой WCF и приложением Silverlight Хотя этот вопрос не задан одинаково, ответ тот же.

Вам необходимо создать отдельный проект и поделиться файлами кода (в виде ссылок) из одного проекта в другой.Ваша проблема в том, что проект Silverlight скомпилирован для среды выполнения, отличной от проекта ASP.NET/WCF.Поскольку они не могут ссылаться на общую библиотеку, связывание общих файлов, как упоминалось, является самым простым способом обмена кодом между двумя проектами, предназначенными для разных сред выполнения.

...