简体   繁体   English

如何使用Ninject.Web.Common.OwinHost 3.3.0?

[英]How to use Ninject.Web.Common.OwinHost 3.3.0?

Who can tell me about Ninject.Web.Common.OwinHost? 谁能告诉我有关Ninject.Web.Common.OwinHost的信息? I'm using this manual https://github.com/ninject/Ninject.Web.Common/wiki/Setting-up-a-OWIN-WebApi-application , but it looks like it's out of date, because UseNinjectWebApi method doesn't exists. 我正在使用此手册https://github.com/ninject/Ninject.Web.Common/wiki/Setting-up-a-OWIN-WebApi-application ,但是它看起来已经过时了,因为UseNinjectWebApi方法没有t存在。

I'm trying to do this instead: 我正在尝试这样做:

    public void Configuration(IAppBuilder appBuilder)
    {
        // Configure Web API for self-host. 
        var config = new HttpConfiguration();

        config.MapHttpAttributeRoutes();
        WebServiceConfig.ConfigureRoutes(appBuilder);

        appBuilder.UseNinjectMiddleware(CreateKernel);
        appBuilder.UseWebApi(config);
    }

    private static StandardKernel CreateKernel()
    {
        var kernel = new StandardKernel();
        kernel.Load(Assembly.GetExecutingAssembly());
        kernel.Bind<IPropertyRepository>().To<PropertyRepository>().InSingletonScope();

        return kernel;
    }

But when I call my API controller method, I get a message that the default constructor doesn't exists. 但是,当我调用API控制器方法时,会收到一条消息,提示默认构造函数不存在。

public class PropertyController : ApiController
{
    private readonly IPropertyRepository _propertyRepository;

    public PropertyController(IPropertyRepository propertyRepository)
    {
        _propertyRepository = propertyRepository;
    }

    [Route("properties")]
    [HttpPost]
    [LoggerTrace]
    public IHttpActionResult AddProperty([FromBody] PropertyDto propertyDto)
    {
        return Ok();
    }
}

Manual https://github.com/ninject/Ninject.Web.Common/wiki/Setting-up-a-OWIN-WebApi-application is actual. 实际的手册是https://github.com/ninject/Ninject.Web.Common/wiki/Setting-up-a-OWIN-WebApi-application It was that I installed only Ninject.Web.Common package, and it was necessary to install additional Ninject.Web.WebApi package which contains UseNinjectWebApi method. 因为我只安装了Ninject.Web.Common软件包,所以有必要安装其他包含UseNinjectWebApi方法的Ninject.Web.WebApi软件包。

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

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