我正在尝试访问我的OrderService中的productservice,如下所示,但它会抛出错误
没有为此对象定义无参数构造函数。描述:一个 在执行当前Web期间发生了未处理的异常 请求。请查看堆栈跟踪以获取有关的更多信息 错误以及它在代码中的起源。
异常详细信息:System.MissingMethodException:无参数 为此对象定义的构造函数。
//Many repositories are here just like 3 belows
private readonly IRepository<Store> _storeRepository;
private readonly IRepository<ProductPicture> _productPictureRepository;
private readonly IRepository<Picture> _picture;
private readonly IProductService _productService;
//private readonly IProductService _productService = EngineContext.Current.Resolve<IProductService>();
//tried above line but with no success
//Constructor for OrderService goes below
public OrderService(IRepository<Store> storeRepository,
IProductService productService
)
{
_storeRepository = storeRepository;
_productService= productService;
}
如果我删除了productService的引用,则应用程序运行良好。我在网上和nopcommerce论坛上搜索了很多,但没有找到任何解决方案。
任何帮助?
答案 0 :(得分:2)
问题是IProductService
的实现没有提供无参数的构造函数,或public ProductServiceImpl() { }
,因此依赖注入框架无法解析它。
注册IProductService
时,请确保指定要使用的构造函数或为注册的实现创建一个空构造函数。