I'm on Sitecore 9.0. Sporadically after a build, the Media Library images all display as broken and when I try to browse to an image directly (e.g. mysite.com/-/media/images/logo.png
) I see a server error:
[UriFormatException: Invalid URI: The URI is empty.] System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind) +261 Sitecore.Xdb.ReferenceData.Client.ReadOnlyReferenceDataHttpClient.get_ServiceAddressFromConnectionString() +110 Sitecore.Xdb.ReferenceData.Client.ReferenceDataHttpClient..ctor(IDefinitionEnvelopeConverter definitionConverter, IEnumerable`1 clientModifiers, IEnumerable`1 webRequestHandlerModifiers, ILogger`1 logger) +25 [TargetInvocationException: Exception has been thrown by the target of an invocation.] System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0 System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +217 Sitecore.Reflection.ReflectionUtil.CreateObject(Type type, Object[] parameters) +119 Sitecore.Configuration.DefaultFactory.CreateFromTypeName(XmlNode configNode, String[] parameters, Boolean assert) +108 Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) +163 Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert) +72 Sitecore.Configuration.DefaultFactory.CreateObject(String configPath, String[] parameters, Boolean assert) +697 Sitecore.Xdb.ReferenceData.Client.Xmgmt.c.b__0_0(IServiceProvider provider) +41 lambda_method(Closure , ServiceProvider ) +19327 Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService(IServiceProvider provider) +61 Sitecore.Marketing.Definitions.DefinitionManagerFactory.GetDefinitionManager() +84 Sitecore.Analytics.Data.c__DisplayClass7_0.b__4() +69 System.Lazy`1.CreateValue() +708 System.Lazy`1.LazyInitValue() +184 Sitecore.Analytics.Data.MarketingDefinitions.InitializeProfilesWithDefaultValues() +80 System.Lazy`1.CreateValue() +708 System.Lazy`1.LazyInitValue() +184 Sitecore.Analytics.Data.TrackingField.InitializeProfiles() +106 Sitecore.Analytics.Data.TrackingField..ctor(Field innerField) +133 Sitecore.Analytics.Data.TrackingField.GetTrackingField(Item item) +106 Sitecore.Analytics.Data.TrackingField.FindTrackingField(Item item) +37 Sitecore.Analytics.Data.TrackingField.HasTracking(Item item) +9 Sitecore.Analytics.Media.MediaRequestTrackingInformation.IsTrackedRequest() +38 Sitecore.Analytics.RobotDetection.Media.MediaRequestSessionModule.IsSessionRequired() +162 Sitecore.Analytics.Media.MediaRequestSessionModule.ContextPostMapRequestHandler(Object sender, EventArgs e) +17 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +223 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +213 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +91
Sometimes recycling the app pool resolves this but I want to understand what's causing this issue and the best way to resolve it.
*.client
connection strings contain the protocol (HTTPS)?