谁能告诉我Ninject.Web.Common.OwinHost?我使用本手册https://github.com/ninject/Ninject.Web.Common/wiki/Setting-up-a-OWIN-WebApi-application,但看起来已经过时,因为UseNinjectWebApi方法不存在。
我试图这样做:
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;
}
但是当我调用我的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();
}
}
答案 0 :(得分:0)
手动https://github.com/ninject/Ninject.Web.Common/wiki/Setting-up-a-OWIN-WebApi-application是实际的。我只安装了Ninject.Web.Common包,并且需要安装包含UseNinjectWebApi方法的附加Ninject.Web.WebApi包。