5

During a DXA 1.5 install, on loading the default website I have an error in my site.log that it cannot find the ContextService.

What is the ContextService used for in DXA 1.5? What functionalities require it?

Can I disable it?

Unable to retrieve context engine service uri from discovery service. No ContextServiceCapability found!
Sdl.Web.Delivery.Service.InvalidServiceEndpoint: Unable to retrieve context engine service uri from discovery service. No ContextServiceCapability found!
   at Sdl.Web.Context.OData.Client.Caller.ODataContextEngineServiceClient..ctor()
   at Sdl.Web.Context.OData.Client.ODataContextEngine..ctor()
   at Sdl.Web.Tridion.Context.ContextServiceClaimsProvider..cctor() in c:\Jenkins\workspace\DXA Dev CI Web App .NET\Sdl.Web.Tridion\Context\ContextServiceClaimsProvider.cs:line 32

1 Answer 1

5

DXA supports server-side responsiveness (e.g. image resizing) and uses (by default) the SDL Context Engine to get device data needed for that purpose.

On SDL Web 8, DXA uses the Context Service to get access to the SDL Context Engine by default. It is also possible to configure it to get the context claims from ADF (which is used by default on 2013SP1). In that case, you will need to configure the Context Cartridge in your Content Service.

You can also use the DXA 51Degrees Module to get the context claims from a 51Degrees dataset instead of from the SDL Context Engine.

5
  • but why context service is not optional. Not everyone has requirements of it. In my project MM is doing image resizing, context service is just unnecessary load for me.
    – Raj Kumar
    Aug 25, 2016 at 14:05
  • 1
    Context Support in DXA is more than only image resizing, but If you configure DXA to get context claims from ADF, but don't enable the Context Cartridge, you have effectively disabled the DXA Context Support. Aug 25, 2016 at 17:02
  • What happens if the CD environment does not have a Context service installed?
    – Jan H
    Apr 28, 2017 at 15:54
  • 1
    If the Context service is not installed the DXA example webapp will throw an error.
    – Jan H
    Apr 30, 2017 at 21:02
  • You may be able to comment out this line in Global.asax.cs to allow bypassing the relevant context service functionality. With this code commented out, I was able to get the sample Docs site running: ContextCondition = (ctx => WebRequestContext.ContextEngine.DeviceFamily == deviceFamily) Sep 9, 2019 at 6:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.