asp.net MVC - PullRequest
       17

asp.net MVC

3 голосов
/ 02 апреля 2009

мне интересно, возможно ли вернуть сериализованный объект AMF в управляющем действии в ASP.net MVC любому, кто пытался это сделать раньше?

спасибо заранее.

Ответы [ 3 ]

1 голос
/ 04 мая 2009

Понятия не имею, что такое объект AMF (да, я могу его погуглить, но не буду). НО, вы можете сериализовать любой объект в ASP.MVC. Например, возвращение объекта JSON является примером использования встроенной сериализации.

проверить этот предыдущий вопрос SO :

public ActionResult MyAction()
{    
    ... 
    // Populate myObject    
    return new JsonResult{ Data = myObject };
}

Итак, хитрость в том, что вам нужно убедиться, что все объекты внутри одного из этих объектов AMF могут быть сериализованы. Если нет, то не забудьте, что вы можете вернуть сериализованный анонимный объект.

например.

public ActionResult MyAction()
{    
    ... 
    // Populate myObject    
    return new JsonResult
        { 
            Data = new
            {
                Id = object.Id,
                Name = object.FirstName + ' ' object.Surname,
                .... etc ....
            }
        };
}

НТН.

1 голос
/ 12 мая 2009

Вы также можете создавать свои собственные классы ActionResult, если существующие не позволяют выдавать нужный формат.

Этот сайт содержит информацию о создании пользовательских ActionResults: http://blogs.msdn.com/jowardel/archive/2009/03/11/asp-net-rss-actionresult.aspx

1 голос
/ 04 мая 2009

У меня практически нет опыта работы с MVC, но я провел некоторое тестирование с записью данных AMF во Flash-клиент. Что я сделал, так это построил универсальный обработчик, который использовал класс ByteArray во FluorineFX. Я создал экземпляр объекта и записал его в ByteArray с помощью WriteObject (). Затем я записал данные ByteArray в поток ответов. Затем во Flash я использовал стандартный URLLoader и ReadObject () из (URLLoader.data как ByteArray), и мой объект был десериализован и готов к работе. (Конечно, сначала я должен был сделать всю грязь RemoteClass и registerClassAlias)

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

...