我已经按照这个tutorial进行了很好的工作,直到我修改了 DbContext 以获得额外的构造函数 . 我现在遇到了解决方案的问题,不知道如何解决这个问题 . 是否有一种简单的方法可以强制它 grab 无参数构造函数,或者我接近这个错误?

DbContext 有两个构造函数:

public class DashboardDbContext : DbContext

{

public DashboardDbContext() : base("DefaultConnection") { }

public DashboardDbContext(DbConnection dbConnection, bool owns)

: base(dbConnection, owns) { }

}

SiteController 构造函数:

private readonly IDashboardRepository _repo;

public SiteController(IDashboardRepository repo)

{

_repo = repo;

}

库:

DashboardDbContext _context;

public DashboardRepository(DashboardDbContext context)

{

_context = context;

}

UnityResolver 代码:

public class UnityResolver : IDependencyResolver

{

private readonly IUnityContainer _container;

public UnityResolver(IUnityContainer container)

{

_container = container;

}

public object GetService(Type serviceType)

{

try

{

return _container.Resolve(serviceType);

}

catch (ResolutionFailedException)

{

return null;

}

}

public IEnumerable GetServices(Type serviceType)

{

try

{

return _container.ResolveAll(serviceType);

}

catch (ResolutionFailedException)

{

return new List();

}

}

public IDependencyScope BeginScope()

{

var child = _container.CreateChildContainer();

return new UnityResolver(child);

}

public void Dispose()

{

_container.Dispose();

}

}

WebApiConfig:

var container = new UnityContainer();

container.RegisterType(new HierarchicalLifetimeManager());

config.DependencyResolver = new UnityResolver(container);

WebApi调用出错:

System.InvalidOperationException:尝试创建“SiteController”类型的控制器时发生错误 . 确保控制器具有无参数的公共构造函数 .

at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)

at System.Web.Http.Controllers.HttpControllerDescriptor.CreateController(HttpRequestMessage request)

at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)

at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__0.MoveNext()

InnerException:System.ArgumentException:Type'Dashboard.Web.Controllers.SiteController'没有默认构造函数 .

at System.Linq.Expressions.Expression.New(Type type)

at System.Web.Http.Internal.TypeActivator.Create[TBase](Type instanceType)

at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator(HttpRequestMessage request, Type controllerType, Func`1& activator)

at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)

该教程非常棒,并且在我添加第二个构造函数之前一直很好用 .

java声明公共构造函数_确保控制器具有无参数的公共构造函数错误相关推荐

  1. WebApi接口访问异常问题。尝试创建“testController”类型的控制器时出错。请确保控制器具有无参数公共构造函数

    WebApi接口访问异常问题.尝试创建"testController"类型的控制器时出错.请确保控制器具有无参数公共构造函数 参考文章: (1)WebApi接口访问异常问题.尝试创 ...

  2. Java声明定义抽象类_接口_继承_实现

    文章目录 声明定义抽象类 声明定义接口 派生类.抽象类.接口的继承要点 声明定义抽象类 public abstract class CRMSystem {public abstract Client ...

  3. java 内部类 单例_确保对象的唯一性——单例模式 (四):一种更好的单例实现方法(静态内部类)...

    3.5 一种更好的单例实现方法 饿汉式单例类不能实现延迟加载,不管将来用不用始终占据内存:懒汉式单例类线程安全控制烦琐,而且性能受影响.可见,无论是饿汉式单例还是懒汉式单例都存在这样那样的问题,有没有 ...

  4. java不锁屏_如何控制Android不锁屏

    锁定屏幕对于移动终端来说是非常有必要的,但是对于机顶盒产品就没有这个必要了.所以本文介绍一下怎样让Android设备永不锁屏. Android系统的锁屏时间存放在Setting数据库中,字段为Sett ...

  5. java三角形创建子类_如何创建子类,以便参数属于Java中的子类类型

    我有抽象的父类Animal: public abstract class Animal { public abstract T copyAnimal(T animal); } 然后我想创建一个子类Du ...

  6. 最长公共子串_两个字符串的最长公共子串(后缀自动机)

    // 最长公共子序列(后缀自动机) typedef struct state {int len, link;map<char, int> next; }state;const int MA ...

  7. java rsa加密解密_前端实现对请求参数进行RSA加密amp;解密,针对字符串过长进行分段加密amp;分段解密的处理...

    前言 在需求开发中,为了安全起见,我们都会难免遇到需要对一些敏感参数进行加密或者解密.所以,今天给大家分享的就是使用jsencrypt对请求参数进行RSA加密与解密,发这篇文章其实主要因为近期我的一位 ...

  8. java类初始化顺序_《To Be a Better Javaer》-- Java 基础篇 vol.2:面向对象

    Java是面向对象的高级编程语言,面向对象的特征如下: 面向对象具有抽象.封装.继承.多态等特性: 面向对象可以将复杂的业务逻辑简单化,增强代码复用性: 面向对象是一种常见的思想,比较符合人们的思考习 ...

  9. 《C++ Primer》读书笔记——第十三章_拷贝控制

    一个类有5种特殊的成员函数:拷贝构造函数.拷贝赋值运算符.移动构造函数.移动赋值运算符.析构函数.如果没有定义这些拷贝控制成员,编译器会自动为它定义缺失的操作. A a; A b = a;//报错 1 ...

最新文章

  1. 程序编译是出现“field has incomplete type“问题的解决
  2. asp.net core选项配置的研究
  3. Redis3.0 集群
  4. 通过nginx访问web,出现ERR_CONTENT_LENGTH_MISMATCH解决方法
  5. 选购维生素C需要注意的事项
  6. linux function
  7. js实现数据流(日志流,报警信息等)滚动展示,并分页(含实现demo)
  8. 贪心----多元Huffman编码问题
  9. 【SQL】substr截取结果和想象中有差异?
  10. 依赖倒转原则_Java设计模式的七大原则
  11. FutureTask源码分析
  12. Spring Boot官方文档笔记
  13. 如何解决佳能mp288打印机P08、P07报错
  14. H5动效的常见制作手法
  15. 操作 神通数据库_神通大型通用数据库
  16. CSS 渐变背景 之 线性渐变
  17. DAC数模转换/ADC模数转换
  18. 什么是云数据库RDS?
  19. 关于nova服务项目的使用方法
  20. Eclipse官网下载地址

热门文章

  1. 还记得吗?可我摸了摸的太空堡垒
  2. 结果期待3年多的看图软件
  3. 当涌泉相报局域网聊天
  4. 总结一下这一年来的心得体会
  5. XEIM 配置程序源代码
  6. Tip of the day的bug
  7. 醒醒吧!送给那些盲目自学的人
  8. 前端开发必备:js中的sort()排序函数
  9. 中新赛克数据可视化_中新赛克,加仓!
  10. java金字塔等边三角形_java99乘法表的小练习 正三角 倒三角 正金字塔 倒金字塔...