Quantcast
Channel: Developer to developer
Viewing all articles
Browse latest Browse all 9076

Dependency Injecting IContentResolver error - No default Instance registered

$
0
0

Hi Guys,

in one of my controller i try to inject IContenResolver. Example..All the other DI's services work, but the IContentResolver doesnt. 

 public class OrphanedBlocksReportController : Controller
    {
        private readonly IContentTypeRepository contentTypeRepository;
        private readonly IAdministrationSettingsService administrationSettingsService;
        private readonly ContentTypeAvailabilityService contentTypeAvailabilityService;
        private readonly ModuleTable moduleTable;
        private readonly ServiceAccessor<SiteDefinition> currentSiteDefinition;
        private readonly ContentTypeModelRepository contentTypeModelRepository;
        private readonly IContentModelUsage contentModelUsage;
        private readonly IContentRepository repository;
        private readonly IContentSoftLinkRepository linkRepository;
        private readonly IContentResolver resolver;
        public OrphanedBlocksReportController(IContentTypeRepository contentTypeRepository, IAdministrationSettingsService administrationSettingsService,
                                                    ContentTypeAvailabilityService contentTypeAvailabilityService,
                                                    ModuleTable moduleTable,
                                                    ServiceAccessor<SiteDefinition> currentSiteDefinition,
                                                    ContentTypeModelRepository contentTypeModelRepository,
                                                    IContentModelUsage contentModelUsage,
                                                    IContentRepository repository,
                                                    IContentSoftLinkRepository linkRepository,
                                                    IContentResolver resolver)
        {
            this.contentTypeRepository = contentTypeRepository;
            this.administrationSettingsService = administrationSettingsService;
            this.contentTypeAvailabilityService = contentTypeAvailabilityService;
            this.moduleTable = moduleTable;
            this.currentSiteDefinition = currentSiteDefinition;
            this.contentTypeModelRepository = contentTypeModelRepository;
            this.contentModelUsage = contentModelUsage;
            this.repository = repository;
            this.linkRepository = linkRepository;
            this.resolver = resolver;
        }
}

But get the error:

No default Instance is registered and cannot be automatically determined for type 'EPiServer.Web.IContentResolver'

There is no configuration specified for EPiServer.Web.IContentResolver

1.) Container.GetInstance(EPiServer.Web.IContentResolver)

Even if i just try the ServiceLocation way, i get the same.. what am i missing?

var contentResourceFolder = repository.GetDefault<ContentAssetFolder>(block.ParentLink);
                        var guid = contentResourceFolder.ContentOwnerID;
                        var resolver = ServiceLocator.Current.GetInstance<IContentResolver>();                        
                        var ref4 = resolver.ResolveContent(guid);

Viewing all articles
Browse latest Browse all 9076

Trending Articles