c# - 简单注入(inject)器中 HttpConfiguration 的依赖注入(inject)

标签 c# dependency-injection simple-injector httpconfiguration

我的 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/

相关文章:

java - 是否有与 @Assisted 等效的 javax.inject.*

c# - 如何使用 FluentScheduler 正确配置 Simple Injector

c# - 将 C# 类库引用添加到 VB.Net 项目

c# - 在所有 DataTable 列中查找一个字符串

java - 我可以在 Spring 中为 @Component 类创建构造函数吗

node.js - NodeJS Express 依赖注入(inject)和数据库连接

c# - 如何在 Nancy 中注入(inject) ClaimsPrincipal

asp.net - 简单注入(inject)器 - 解析 MVC Controller 时没有为此对象定义无参数构造函数

c# - P/Invoke struct 关闭 32 位?

c# - DllImport 与 ComImport