Copied to clipboard

Flag this post as spam?

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


  • Casper 69 posts 305 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

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies