Как получить данные модели от ViewResult в ASP.NET MVC RC1?

В Hadoop MapReduce входные данные находятся на диске, вы выполняете карту и уменьшаете и возвращаете результат на диск. Apache Spark позволяет более сложные трубопроводы. Возможно, вам нужно сопоставить дважды, но не нужно уменьшать. Возможно, вам нужно уменьшить карту, а затем снова уменьшить. API-интерфейс Spark очень удобен для создания очень сложных конвейеров с десятками шагов.

Вы также можете реализовать тот же сложный конвейер с MapReduce. Но затем между каждым этапом вы пишете на диск и читаете его обратно. Spark избегает этих накладных расходов, когда это возможно. Хранение данных в памяти - это один из способов. Но очень часто даже это не нужно. Один этап может просто передать вычисленные данные на следующий этап, не сохраняя при этом всех данных.

Это не вариант с MapReduce, потому что один MapReduce не знает о следующем. Он должен завершиться полностью до того, как начнется следующее. Вот почему Spark может быть более эффективным для сложных вычислений.

API, особенно в Scala, тоже очень чист. Классический MapReduce часто является одной строкой. Это очень удобно использовать.

24
задан Arnold Zokas 5 February 2009 в 22:57
поделиться

2 ответа

Попробуйте:

result.ViewData.Model

Надеюсь, это поможет.

38
ответ дан Florin Sabau 28 November 2019 в 23:28
поделиться

В версии Предвыпускной версии Asp. Сетевая платформа Mvc, модель сделана доступной через свойство "Model" объекта ViewResult. Вот более точная версия Вашего теста:

[Fact]
public void List_Action_Provides_ProjectCollection()
{
    //act
    var result = controller.List();

    //assert
    var viewresult = Assert.IsType<ViewResult>(result);
    Assert.NotNull(result.ViewData.Model);
    Assert.IsType<List<string>>(result.ViewData.Model);
}
6
ответ дан Troy 28 November 2019 в 23:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: