RedirectToAction (..) com objeto profundo complexo falha

Eu estou tentando passar um objeto de uma ação de controlador para outro. O objeto que estou passando parece mais ou menos assim:

public class Person
{
   public string Name { get; set; }
   public List<PhoneNumber> PhoneNumbers {get; set; }
   public List<Address> Addresses { get; set; }
}

Meu controlador fica assim:

public class DialogController : Controller
{
    public ActionResult Index()
    {
        // Complex object structure created
        Person person = new Person();
        person.PhoneNumbers = new List();
        person.PhoneNumbers.Add("12341324");

        return RedirectToAction("Result", "Dialog", person);

    }

    public ActionResult Result(Person person)
    {
        string number = person.PhoneNumbers[0].ToString();
        return View();
    }
}

O método resultado falha com uma exceção de ponteiro nulo, pois a lista PhoneNumbers é subitamente nula depois de chamar a ação Result com o método RedirectToAction ().

Alguém já viu esse tipo de comportamento antes?

Felicidades,

Peter

questionAnswers(4)

yourAnswerToTheQuestion