Создание служб WCF с использованием динамических языков и DLR - PullRequest
3 голосов
/ 26 апреля 2010

Мне было любопытно, как кто-то будет создавать сервисы на основе WCF с использованием динамического языка, такого как IronPython или IronRuby. Эти языки не имеют понятия интерфейсов. Как кто-то определит сервисные контракты? Нужно ли нам полагаться на статические языки для такого рода задач? В частности, я большой поклонник Python и хотел бы знать, можно ли это сделать на этом этапе.

Ответы [ 2 ]

2 голосов
/ 30 апреля 2010

Я провел несколько экспериментов - посмотрите мой опыт в моем блоге .

Хорошей новостью является то, что сервис WCF может быть полностью написан на IronPython. Плохая новость заключается в том, что служба WCF не работает в IIS, поскольку вы не можете напрямую использовать скомпилированный код IronPython из C # или VB.

2 голосов
/ 27 апреля 2010

IronPython имеет новую функцию в 2.6 для создания обычных классов .NET с использованием механизма определения классов Python. Новая функция активируется путем переопределения clrtype в метаклассе. Затем вы можете объявить класс с помощью множества декораторов, и метакласс создаст новый тип .NET. В качестве примера у нас есть набор метаклассов, которые можно использовать (или настраивать) на сайте IronPython CodePlex для 2.6.1 версии .

Я не пробовал, в частности, с WCF, но он работает в других случаях, когда вам нужно использовать статический тип. В некоторых случаях это не будет работать, особенно если фреймворк должен выполнять Type.GetType (typeName).

...