Как я могу поделиться кодом между C # и Flex? - PullRequest
4 голосов
/ 16 июля 2009

Я занимаюсь разработкой приложения Flex / Flash, которое взаимодействует с бэкэндом ASP.Net / C #. Есть ли способ, которым я могу поделиться кодом между двумя?

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

Я новичок во Flex, но я имел в виду некоторый промежуточный язык, который компилируется как в C #, так и в ActionScript.

Обновление

В настоящее время у меня есть базовый веб-сервис в стиле REST, который отправляет сериализованные версии XML объектов по проводам во Flex. Это прекрасно работает, но меня действительно интересует возможность поделиться простой бизнес-логикой, которая сочетается с этими объектами. Существуют определенные бизнес-правила, которые необходимо обрабатывать как на сервере, так и на клиенте, и, возможно, я предпочел бы не обращаться к серверу по соображениям производительности.

Ответы [ 7 ]

4 голосов
/ 15 декабря 2009

Я тоже столкнулся с этой проблемой, поэтому написал конвертер C # в ActionScript.

http://cs2as.codeplex.com/

Напишите свою логику в C # и добавьте эту утилиту в качестве шага после сборки. Тогда ваша бизнес-логика будет доступна в обеих средах. Это работает очень хорошо для меня - я использую его, чтобы разделить более 30 000 строк кода.

1 голос
/ 16 июля 2009

Я бы взломал спецификацию модели предметной области и дал бы ей сгенерировать модели на обоих языках. Но это, вероятно, не самое эффективное время.

0 голосов
/ 16 июля 2009
0 голосов
/ 16 июля 2009

Что делать, если вы сериализуете объекты в XML и отправляете их во Flex .... это, по крайней мере, позволит вам обмениваться данными

0 голосов
/ 16 июля 2009

Не то, чтобы я знал, C # по сути является строго типизированным, скомпилированным языком, а ActionScript - свободно интерпретируемым языком. Боюсь, мел и сыр.

0 голосов
/ 16 июля 2009

Обновление

Вы можете передавать объекты с помощью списков, но то, что вы действительно передаете, это только данные.

Вы не можете передать «метод» клиенту.

  1. Им не обязательно соблюдать это. Как только они получат данные, вы не сможете контролировать, соблюдают ли они переданные вами методы.
  2. Вы не хотели бы доверять чему-либо, что они отправят вам впоследствии.

Я думаю, что проблема с настройкой.

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

Старый ответ

Я использую Flex и C # вместе с помощью слоя веб-службы .

Возможно, вы захотите взглянуть на создание веб-сервисов, чтобы использовать flex-связь с вашим кодом C #.

0 голосов
/ 16 июля 2009

Оформить http://www.fluorinefx.com/ (Это удаленное взаимодействие с открытым исходным кодом). Я широко использовал его для вызова веб-сервисов, написанных на C #, из ActionScript, и он прекрасно работает. Однажды приятно, что ваш c # может вернуть DataSet (или что-то подобное), и среда Flourine преобразует это в объект, который понимает ActionScript.

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