Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Casper 70 posts 308 karma points
    Oct 07, 2019 @ 08:38
    Casper
    0

    Custom MediaUrlProvider - Override DefaultMediaUrlProvider.GetMediaUrl

    Umbraco version: 8.1.5

    Hi,

    If I create a class inheriting the DefaultMediaUrlProvider in order to override GetMediaUrl, I can't get it to kick in.

    The code looks like this(have not implemented logic, as I would like to see it kick in first)

    ImgIxUrlProvider.cs

    public class ImgIxUrlProvider : DefaultMediaUrlProvider
    {
        public override UrlInfo GetMediaUrl(UmbracoContext umbracoContext, IPublishedContent content, string propertyAlias, UrlMode mode,
            string culture, Uri current)
        {
            return base.GetMediaUrl(umbracoContext, content, propertyAlias, mode, culture, current);
    
        }
    }
    

    ImgIxUrlProviderComposer.cs

    [RuntimeLevel(MinLevel = RuntimeLevel.Run)]
    public class ImgIxUrlProviderComposer : IUserComposer
    {
        public void Compose(Composition composition)
        {
            // no luck
            composition.MediaUrlProviders().Replace<DefaultMediaUrlProvider, ImgIxUrlProvider>();
    
            // no luck
            composition.MediaUrlProviders().Insert<ImgIxUrlProvider>();
    
        }
    }
    

    If I set a breakpoints in my Composer.Compose method and one in ImgIxUrlProvider.GetMediaUrl, only the Composer.Compose gets hit. Setting one in GetMediaUrl does not get hit. So something is not wireing up as I would expect.

    My goal is to replace the default media URL with ImgIx(cdn) url.

    Can you see what I am missing?

    //casper

Please Sign in or register to post replies

Write your reply to:

Draft