2013-12-20 114 views
0

我試圖訪問productservice在我OrderService像下面,但它會拋出錯誤沒有爲此對象定義的無參數構造函數。 Nopcommerce 2.40

此對象定義無參數的構造函數。說明:執行當前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論壇上搜索了很多,但沒有找到任何解決方案。

任何幫助?

+1

試着把一個像這個'公共OrderService(){}'這樣的空構造函數,讓我知道 –

+0

同樣的問題仍然存在 –

+0

這是你的OrderService還是你正在修改nop的?從IProductService的鏈中進一步依賴的東西可能依賴於IOrderService,創建一個通常會引發錯誤的循環引用。 – AndyMcKenna

回答

2

問題是IProductService的實現沒有提供無參數構造函數或public ProductServiceImpl() { },因此無法通過依賴注入框架解決。

當你註冊IProductService確保你指定了一個構造函數來爲已註冊的實現使用或創建一個空構造函數。

相關問題