Передача ValueObject’ов из FluorineFx во Flash CS3
WD479 | Апрель 23, 2008
Небольшой пример передачи типизированного объекта от сервера (.NET) во Flash CS3 используя FluorineFx.
Информация по теме:
Общая информация по FluorineFx и Flash Remoting
Сравнение WebORB-vs-FluorineFx
Создайте ValueObjects во флэше и на серверной стороне.
ActionScript 3.0:
{
public class ActivityVO
{
public function ActivityVO()
{
}
private var activitySubject:String;
private var activityEvent:String;
public function get ActivitySubject():String
{
return activitySubject;
}
public function set ActivitySubject(value:String):void
{
activitySubject = value;
}
public function get ActivityEvent():String
{
return activityEvent;
}
public function set ActivityEvent(value:String):void
{
activityEvent = value;
}
}
}
.NET (C#):
{
public class ActivityVO
{
private string activitySubject;
public string ActivitySubject
{
get { return activitySubject; }
set { activitySubject = value; }
}
private string activityEvent;
public string ActivityEvent
{
get { return activityEvent; }
set { activityEvent = value; }
}
}
}
.NET приложение должно содержать следующий код:
{
ActivityVO activityTest = new ActivityVO();
activityTest.ActivityEvent = "test event";
activityTest.ActivitySubject = "test subject";
return activityTest;
}
public Array GetActivities()
{
ArrayList list = new ArrayList();
ActivityVO activityTest = new ActivityVO();
activityTest.ActivityEvent = "test event";
activityTest.ActivitySubject = "test subject";
list.Add(activityTest);
string query = "SELECT * FROM Activities";
using (SqlConnection connection = new SqlConnection(connString))
{
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
ActivityVO activity = new ActivityVO();
if (!reader.IsDBNull(reader.GetOrdinal("Subject")))
activity.ActivitySubject = reader.GetString(reader.GetOrdinal("Subject"));
if (!reader.IsDBNull(reader.GetOrdinal("Event")))
activity.ActivityEvent = reader.GetString(reader.GetOrdinal("Event"));
list.Add(activity);
}
}
}
return list.ToArray();
}
// два метода - один возвращает объект типа ActvityVO, а другой - массив таких объектов.
В ActionScript вызываем удаленный метод:
{
import flash.net.NetConnection;
import flash.net.ObjectEncoding;
import flash.net.Responder;
import flash.net.registerClassAlias;
import vo.ActivityVO;
public class TestDAO
{
private var _connection:NetConnection;
private var _responder:Responder;
public function TestDAO()
{
registerClassAlias("TimeLineServices.vo.ActivityVO", ActivityVO);
_connection = new NetConnection();
_connection.objectEncoding = ObjectEncoding.AMF3;
_connection.connect(Main.SERVICE_URL);
}
public function GetActivities():void
{
var responder:Responder = new Responder(onResult, onFault);
//_connection.call("TimeLineServices.Sample.GetActivity", responder);
_connection.call("TimeLineServices.Sample.GetActivities", responder);
}
private function onResult(result:Object):void
{
var activities:Array = result as Array;
var activity:ActivityVO = activities[0] as ActivityVO;
//var activity:ActivityVO = result as ActivityVO;
trace(activity.ActivitySubject);
}
private function onFault(error:Object):void
{
trace("error: " + error.description);
}
}
}
Примечание: строка registerClassAlias(”TimeLineServices.vo.ActivityVO”, ActivityVO); находится внутри AS3-класса TestDAO. Она связывает ValueObjects в AS с соответствующими классами в .NET.
(В AS2 вместо этого надо было использовать Object.registerClass(). В AS3 Object.registerClass() была удаленна).
Обратите внимание на то, что метод GetActivities() на сервере возвращает массив. Даже если мы на сервере собираем элементы в ArrayList, вернуть нам надо массив - list.ToArray(). Происходит это потому что флэш не поддерживает комплексные объекты, такие как ArrayCollection.
Пример взят с официального форума FluorineFx.





Очень полезно.
Спасибо
смешных ситуаций в жизни было много - помню в детстве на даче слушал Kreator, так пришла бабушка сказала что магнитофон испортился
Очень полезная вещь, спасибо!!
Мне нравятся Ваши посты, заставляет задуматься)
спасибо за статейку
Да, есть над чем задуматься. Спасибо!
Спасибо за постоянно новую информацию, всегда приятно читать.
Молодца! Так держать! Подписываюсь!
Автор есть пару мыслей (идей) на посты, свяжитесь пожалуйста.
Рекомендую подписку на ленту сделать побольше. Подписчиков станет больше. Проверенно.
:))))) хорошо пишешь
Изумительно! Перечитал три раза.
Спасибо! У Вас часто замечательные посты! Прямо с утра поднимаете настроение.
Хорошо пишешь, подписался на фид
Огромное спасибо
Да, респект большой.
Молодца! Так держать! Подписываюсь!
Давайте бороться со спамом сообща. это уже просто эпидемия какая-то
Спорный текст. Хотя, слов нет, написан хорошо.
Все великие люди мало жили. Вот и мне что-то нездоровится.
Чего мы стоим, ясно не из того, что у нас есть, а из того, как мы поступаем с тем, что у нас есть.
Спасибочки за старания! Пригодилось для написание контрольной.
Спасибо, много полезного почерпнул.
Нельзя всем дать все. Потому что всех много, а всего мало.
Blog…
http://flash.digy.net/2008/04/%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%87%d0%b0-valueobject%d0%be%d0%b2-%d0%b8%d0%b7-fluorinefx-%d0%b2%d0%be-flash-cs3/...
Че то у меня комментарий сюда с первого раза не хочет добавляться, в чем трабл может быть?
Спасибо за пост, оказался очень полезным.
На Достоевского не тянет, конечно. Далеко не тянет, но для начала - отлично. Хороший старт - лучший старт. Вперед и с песней.
Отлично написано, как всегда.
Добавил в закладки. Теперь буду почаще читать!
Спасибо! Супер статья! Блог в ридер однозначно
Человек не хуже муравья может переносить тяжести в 20 раз больше собственного веса. Но за большее количество раз, и сильно матерясь.
Да, респект большой.
грамотный блог, но коллайдер все равно взорвется…
Я был приятно удивлен, как автор легко пишет обо всем, что его интересует. В этом что-то есть!
каждый день похож на предыдущий. каждый пост автора отличен от предыдущего. вывод: читать автора
Прикольно, логично, по теме блога. Спасибо за поднятие настроения!
удачи в бизнесе с таким блогом
Блог в ридер однозначно
Запутанно если честно.
Каменты жгут!
Дружище, писать всякий горазд,… но чтобы так!!! Дай пять!
порадовало
Прямо даже не верится, что такой блог есть
Help! У автора афтограф можно взять?
Все нравится. Спасибо за пост!
Help! У автора афтограф можно взять?
удачи в бизнесе с таким блогом
Дискутировать можно бесконечно, поэтому просто поблагодарю автора. Спасибо!
Жжжесть =) Но цепляет.
Прикольно
Теперь буду почеще читать…клёвенька =))))))
не-не-не-не-некогда мне тут с Вами общаться, пойду травки дуну
Актуальный блог, свежая инфа, почитываю
знакомая тема)
Спасибо за пост, а это тема=)
Всякое бывает, может Ваш блог поднимется в рейтинге Яндекса за такое пост. Посмотрим.
Когда суть придет - вопросы “как жить” закончатся но это долгий развития пройти нужно.
Ваще не вдохновило(((
Классный пост! Спасибо! Разделю мнение автора.
Спасибо за такой пост, заставляет не ковыряться в носу и не чесать яйца. А думать и развиваться.
Бойтесь гнева автора, ненавистники!
На громких заголовках и шумихи можно делать и не такие успехи.
грамотный блог, но коллайдер все равно взорвется…
Занятно
каждый день похож на предыдущий. каждый пост автора отличен от предыдущего. вывод: читать автора
Спасибо за интересный материал!
блин, почему так мало хороших блогов осталось? этот вне конкуренции.
лучше и не скажешь!!!
Достаточно интересная и познавательная тема
думаю, у автора с такими постами все получится. удачи!
Очень познавательно. Спасибо.
хороший рассказ, все разложено по полкам
Отличный пост – слов нет. Спасибо.
Смешно до чёртиков. Или, боюсь, уж и не смешно, а жутко.
спасибо, прочитал на одном дыхании
Почему подписка еще бесплатная? :))
Занятно, но все же очень хотелось бы побольше узнать о  ах publicах. Понравился пост!:D
хороший рассказ, все разложено по полкам
мысли здравые, но тяжело читать, не знаю почему.
Вот скажите, класно же, что такие отличные посты есть в интернете. Автору большое спасибо!
Interesnen’ko.
Дружище, писать всякий горазд,… но чтобы так!!! Дай пять!
Занятно
Отлично!!! Вместо книги на ночь.
Не понимаю причину такого ажиотажа. Ничего нового и мнения разные.
Бойтесь гнева автора, ненавистники!
мысли здравые, но тяжело читать, не знаю почему.
Дружище, писать всякий горазд,… но чтобы так!!! Дай пять!
http://loveyou.nskneu.ru/flash/love
Блог в ридер однозначно
Смешно до чёртиков. Или, боюсь, уж и не смешно, а жутко.
Занятно, но все же очень хотелось бы побольше узнать о  ах publicах. Мировой пост!;)
Занятно, но все таки очень хотелось бы побольше узнать о  ах publicах. Понравилась статья!:-)
Занятно, однадко хотелось бы побольше узнать о  ах publicах. Мировая статья!:D
*Хитро щурюсь, сопоставляя факты…*
Интересно, однадко хотелось бы побольше узнать о  ах publicах. Приглянулась статья!:-)
админ, дружище, стукни мне пожалуйста в аську 546-480-41О. или напиши здесь, где ты взял шаблон для своего сайта. спасибо

з.ы. очень понравился диз
Подойдя к второму обзацу необходимо будет побороть в себе желание его пропустить
Очень хороший пост! Спасибо за проделанную работу!
Довольно интересно, но все же очень хотелось бы поподробнее узнать о  ах publicах. Мировой пост!:-)
a-a, spasibo )
Хорошо пишешь, подписался на фид
Хорошо пишешь аффтар
А где об этом можно почитать подробнее?
Мы вот тут спорим, к чему приведет налоговая политика нашего государства в отношении к интернет. У вас есть какие-нибудь соображения?
Ya zdes’ - zavsegdatai, i horosho razbirayus’ v postah i ih kachestve. Tak vot, deistvitel’no kachestvennym mozhno nazvat’ tol’ko tot post, kotoryi vyzyvaet nepoddel’nyi interes, po kotoromu ostavlyayut mnogo kommentariev. Dannyi post - odin iz takih. Vo-pervyh, ego i chitat’ interesno, i informatsiya eta mozhet prigodit’sya v povsednevnoi zhizni. Avtoru spasibo.
Привет. Попробуй больше уделять ему внимания,для начало стань его лучшей подругой,а потом у вас может и что то получиться.
а-а, спасибо )
Занятно, однадко очень хотелось бы поподробнее узнать о  ах publicах. Хорошая статья!;)
Кто является хозяином этого блога ?!
Я прошу вас, мне нужно ваше мнение по-поводу недавнего конфликта-войны в Южной Осетии. Поверьте, каждый должен иметь свою точку зрения, напишите пожалуйста об этом.
з.ы. моё мнение, если коротко, то Грузия совершила беспрецедентный поступок….
У автора очень приятный слог
Спасибо за статью, всегда рад почитать вас!
прочитал с большим интересом — очень очень понравилось
Что-то такое слышал, но не так подробно, а откуда материал брали?
Знаете, а ведь Вы правы
Предлагаем обмен ссылками и статьями с ресурсами близкой тематики. Электронная почта написана.
Привет! Все кто читает этот блог - С Днем Примерения и согласия!
Дорогой администратор! Вы можете написать информацию о вашем блоге на моей доске объявлений.
Ну это Вы перегибаете палку. Не согласен, не может такого быть, не можем мы такого допустить. Прямо буря в душе поднялась. Вчера читал об участившихся катастрофах авиалайнеров, пишут что сейчас в 12 раз чаще падают чем 20 лет назад. Говорят, что виной всему машины, и компьютеры, конечно, тоже, но мне кажется, что и летали раньше по другому реже я имею в виду. Т.е статистика перевирает или репортеры от себя что-то добавили.
красиво, сделал! Благодарю!!!
Да уж. В этом блоге хоть комментаторы вменяемые А то пишут обычно в коменты чушь всякую.
Отличнейший пост. Всё грамотно и по делу!