SiteContext.GetWebSiteUrl() - Hidden use of ContentDatabase
I was recently looking at Sitecore composite components by Chris van de Steeg. It’s a great and useful concept which he explains well. I grabbed his implementation on Github to give it a try.
Unfortunately the code in CompositeComponentController threw a NullReferenceException inside a call to SiteContext.GetWebSiteUrl()
. Having never used that particular method before, I turned to my primary Sitecore documentation tool - the decompiler. Turns out the method calls an overloaded version of it self by passing a Database
as argument - but not just any database, Sitecore.Context.ContentDatabase
.
Maybe I’m too much of a Sitecore newbie for asking this, but what is the content database in code running on a CD-server? In my solution it’s null
. Decompiling into the ContentDatabase
property of Sitecore.Context
, I see that you can set a content database on the site definition config using a content
attribute. Should I set it to web on CD-servers?
Have you experienced other Sitecore APIs that make hidden use of ContentDatabase?