sam*_*sam 3 ninject asp.net-web-api2
当我遇到这个问题时,我正在观看Pluralsight 的教程:搜索这个网站并发现(简单的注入器无法在Web API控制器中注入依赖关系,确保控制器具有无参数的公共构造函数错误)不同的解决方案,但他们没有工作要么.使用WebApi和Ninject时遇到同样的问题,作者在编写代码时没有做任何事情,不知道为什么我要面对这个问题,如果有人解释原因以及解决方案(写什么和写什么),将会很感激.这是代码:
//NinjectWebCommon.cs
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IRepository>().To<Repository>().InRequestScope(); //for making singleton
kernel.Bind<WebAPIandEFContext>().To<WebAPIandEFContext>().InRequestScope();
}
//Order Controller
public class OrderController : ApiController
{
private IRepository _repo;
public OrderController(IRepository repo)
{
_repo = repo;
}
//remaining code....
ERROR description
{"$id":"1","Message":"An error has occurred.","ExceptionMessage":"An error
occurred when trying to create a controller of type 'OrderController'. Make sure that the controller has a parameterless public constructor.","ExceptionType":"System.InvalidOperationException","StackTrace":" at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)\r\n at System.Web.Http.Controllers.HttpControllerDescriptor.CreateController(HttpRequestMessage request)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()","InnerException":{"$id":"2","Message":"An error has occurred.","ExceptionMessage":"Type 'WebAPIandEF.Controllers.OrderController' does not have a default constructor","ExceptionType":"System.ArgumentException","StackTrace":" at System.Linq.Expressions.Expression.New(Type type)\r\n at System.Web.Http.Internal.TypeActivator.Create[TBase](Type instanceType)\r\n at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator(HttpRequestMessage request, Type controllerType, Func`1& activator)\r\n at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)"}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3650 次 |
| 最近记录: |