TryUpdateModel выдает исключение NullReferenceException в модульном тесте ASP.NET MVC 3

Поскольку я обновил MVC 2 до MVC 3 RC, использование TryUpdateModel вызывает исключение NullReferenceException. Эта проблема возникает только при запуске моего метода действия как части модульного теста. Запуск его на реальном сервере работает должным образом.

Вот трассировка стека исключения:

System.NullReferenceException: Object ссылка не установлена ​​на экземпляр объект. в System.Web.Mvc.JsonValueProviderFactory.GetValueProvider (ControllerContext controllerContext) в System.Web.Mvc.ValueProviderFactoryCollection. <> C_ DisplayClassc.b _7 (ValueProviderFactory завод) на System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext () в System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext () в System.Collections.Generic.List 1..ctor (IEnumerable 1 коллекция) в System.Linq.Enumerable.ToList [TSource] (IEnumerable`1 источник) в System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider (ControllerContext controllerContext) в System.Web.Mvc.Controller.TryUpdateModel [TModel] (TModel модель, префикс String)
... отсюда мой собственный код ....

В случае необходимости, мой контроллер имеет следующую подпись:

[AcceptVerbs(HttpVerbs.Post)]
public virtual ActionResult Edit(int id, FormCollection collection)
{
}

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

8
задан Adrian Grigore 12 November 2010 в 15:21
поделиться