For example, for a multisite environment that handle two webshop sites:
<sites>
<site name=”webshop1” ……. />
<site name=”webshop2” ……. />
...
</sites>
See the Solution below to configure the environment so each of the webshop sites uses a different “ProductStockManager”. This applies to all SES versions.
...
<alias alias="ProductStockManager" type="{custom namespace}.ProductStockManagerWebShop1, {custom assembly name}" />
<alias alias="IProductStockManager" type="Sitecore.Ecommerce.DomainModel.Products.IProductStockManager, Sitecore.Ecommerce.DomainModel" />
<container>
...
<register type="IProductStockManager" mapTo="ProductStockManager">
<lifetime type="hierarchical" />
</register>
...
</container>
<pipelines>
<initialize>
...
<processor type="Sitecore.Ecommerce.Pipelines.Loader.ConfigureEntities, Sitecore.Ecommerce.Kernel" patch:after="processor[@type='Sitecore.Pipelines.Loader.EnsureAnonymousUsers, Sitecore.Kernel']" name="examplesunityconfiginitializer">
<UnityConfigSource>/App_Config/webshop1.Unity.config</UnityConfigSource>
</processor>
<processor type="Sitecore.Ecommerce.Pipelines.Loader.ConfigureEntities, Sitecore.Ecommerce.Kernel" patch:after="processor[@type='Sitecore.Pipelines.Loader.EnsureAnonymousUsers, Sitecore.Kernel']" name="examplesunityconfiginitializer">
<UnityConfigSource>/App_Config/webshop2.Unity.config</UnityConfigSource>
</processor>
...
</initialize>
...
</pipelines>
Notes: for more details please see the "Unity Configuration Files" chapter of the "SES Developer Cookbook".