2009-10-27 2 views
0

Я получаю следующее сообщение об ошибке при запуске моего приложения MVC, которая использует данные JSon:Ошибка при запуске приложения MVC

Произошла ошибка при создании контроллера типа «ecom.Controllers.AdminController» , Если контроллер не имеет контроллер завода, убедитесь, что он имеет без параметров открытого конструктора.»

Как я могу это исправить?

+1

Как сказано в сообщении об ошибке, может быть, у вас нет конструктора без параметров? –

+0

Или проверьте, есть ли код в вашем конструкторе, бросающий исключение: http://stackoverflow.com/questions/438870/asp-net-mvc-application-controller-constructor-problem –

ответ

0

По умолчанию класс вы черпаете из «Controller» (например, «MyController») не имеет конструктора. Если вы добавите тот, который добавляет параметры (по какой-либо причине), вам также понадобится версия без параметров. Насколько мне известно, это не имеет никакого отношения к json.

+0

Это верно, если вы не используете IOC. – RichardOD

2

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

+1

+1. Абсолютно. Я бы добавил, если вам нужно что-то вводить в контроллеры, тогда использование чего-то вроде Unity было бы полезно. – RichardOD

+0

Or Castle.Windsor, Ninject, StructureMap, Autofac и т. Д. Просто выбрасывайте варианты. – nkirkes

+0

@ Mannish- да любой сделаю. – RichardOD

0

Попробуйте дать ему конструктор - общедоступный, параметры

Смежные вопросы