我的 HelpController
中出现错误:
The constructor of type HelpController contains the parameter with name 'config' and type HttpConfiguration that is not registered. Please ensure HttpConfiguration is registered, or change the constructor of HelpController.
是否有其他方法可以解决此问题,因为我使用 Configuration
来获取 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);
}
}
最佳答案
将构造函数更改为 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; }
}
关于c# - 简单注入(inject)器中 HttpConfiguration 的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41978170/