繁体   English   中英

Simple Injector 中 HttpConfiguration 的依赖注入

[英]Dependecy injection for HttpConfiguration in Simple Injector

我的HelpController出现错误:

HelpController 类型的构造函数包含名称为“config”的参数和未注册的类型 HttpConfiguration。 请确保 HttpConfiguration 已注册,或更改 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; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM