мне интересно, возможно ли вернуть сериализованный объект AMF в действии управления в ASP.net MVC, кто-нибудь пробовал это раньше?
заранее спасибо.
мне интересно, возможно ли вернуть сериализованный объект AMF в действии управления в ASP.net MVC, кто-нибудь пробовал это раньше?
заранее спасибо.
У меня практически нет опыта работы с MVC, но я провел некоторое тестирование с записью данных AMF в клиент Flash. Что я сделал, так это создал универсальный обработчик, который использовал класс ByteArray в FluorineFX. Я создал экземпляр объекта и записал его в ByteArray с помощью WriteObject(). Затем я записал данные ByteArray в поток ответов. Затем во Flash я использовал стандартный URLLoader и использовал ReadObject() из (URLLoader.data as ByteArray), и мой объект был десериализован и готов к работе. (Конечно, сначала мне пришлось сделать всю гадость RemoteClass и registerClassAlias)
Я предполагаю, что действие MVC также позволяет вам получить доступ к потоку ответов, поэтому вы должны быть настроены.
Я понятия не имею, что такое объект AMF (да, я могу погуглить, но не буду). НО, вы можете сериализовать любой объект в ASP.MVC. Например, возврат объекта JSON является примером использования встроенной сериализации.
проверьте этот предыдущий вопрос SO:
public ActionResult MyAction()
{
...
// Populate myObject
return new JsonResult{ Data = myObject };
}
Итак, хитрость здесь в том, что вам нужно убедиться, что все объекты внутри одного из этих объектов AMF могут быть сериализованы. Если нет, то не забывайте, что вы можете вернуть сериализованный анонимный объект.
eg.
public ActionResult MyAction()
{
...
// Populate myObject
return new JsonResult
{
Data = new
{
Id = object.Id,
Name = object.FirstName + ' ' object.Surname,
.... etc ....
}
};
}
чт.
Вы также можете создать свои собственные классы ActionResult, если существующие не позволяют выдать нужный вам формат.
На этом сайте есть информация о создании пользовательских результатов действий: http://blogs.msdn.com/jowardel/archive/2009/03/11/asp-net-rss-actionresult.aspx