Reading time: 1 min read
How to Get Sitecore Context in a Web API Controller using Target Host Name
Use Target Host Name to Resolve Context
Start typing to search...
Use Target Host Name to Resolve Context
private SiteContext GetSiteContext()
{
Sitecore.Web.SiteInfo currentSiteInfo = null;
var siteInfoList = Sitecore.Configuration.Factory.GetSiteInfoList();
var currentHostName = HttpContext.Current.Request.Url.Host;
foreach (Sitecore.Web.SiteInfo siteInfo in siteInfoList)
{
if (siteInfo.TargetHostName.Equals(currentHostName))
{
currentSiteInfo = siteInfo;
}
}
if (currentSiteInfo == null)
{
Sitecore.Diagnostics.Log.Error("Current site info not found -- exiting.", this);
return null;
}
return Sitecore.Configuration.Factory.GetSite(currentSiteInfo.Name);
}
Assuming your target host names are set up correctly for all upstream environments, this should work like a charm.
Good luck out there,
Marcel