Внедрение зависимостей для HttpConfiguration в Simple Injector
Я получаю сообщение об ошибке для моего HelpController, т.е.
Конструктор типа HelpController содержит параметр с именем 'config' и типом HttpConfiguration, который не зарегистрирован. Убедитесь, что HttpConfiguration зарегистрирован, или измените конструктор HelpController.
Есть ли альтернатива для решения этой проблемы, потому что я использую конфигурацию, чтобы получить Configuration.GetModelDescriptionGenerator();
public class HelpController : Controller
{
private const string ErrorViewName = "Error";
public HelpController(HttpConfiguration config)
{
Configuration = config;
}
public HttpConfiguration Configuration { get; private set; }
.
.
.
.
.
public ActionResult ResourceModel(string modelName)
{
if (!String.IsNullOrEmpty(modelName))
{
ModelDescriptionGenerator modelDescriptionGenerator = Configuration.GetModelDescriptionGenerator();
ModelDescription modelDescription;
if (modelDescriptionGenerator.GeneratedModels.TryGetValue(modelName, out modelDescription))
{
return View(modelDescription);
}
}
return View(ErrorViewName);
}
1 ответ
Измените свой конструктор на private
и положить обратно в конструктор без параметров, сгенерированный VS. Ваш HelpController
должен выглядеть так
public class HelpController : Controller
{
private const string ErrorViewName = "Error";
public HelpController()
: this(GlobalConfiguration.Configuration)
{
}
private HelpController(HttpConfiguration config)
{
Configuration = config;
}
public HttpConfiguration Configuration { get; private set; }
}