I am working on ADX portal Multilingual website for CRM based on the link below :
https://community.adxstudio.com/products/adxstudio-portals/documentation/developers-guide/web-controls/crmentityformview/language-localization/
I followed the same exact steps as mentioned however I found out there is a cache issue when selecting the second language . ADX attempt to clear cache from time to times , or when attempting manual cache invalidation (only when the child website (second language) is selected ) . In both cases, Cache is being cleared but the base language(English) disappear from language selector and when attempting to visit the original URL , the portal goes offline for the original base language URL throwing an argument null exception. so I either have to recycle pool or clear cache again on the base language so it could work again.
I tried modifying cache tags in web.config, troubleshooting , even saw similar issue mentioning that filling parent pages for web pages could be the resolution , but nothing worked out . It appears this issue is very critical .
Is there a resolution for this problem?
Please help if anyone faced similar issue.
Here's the error description:
Server Error in '/' Application.
Value cannot be null.
Parameter name: key
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: key
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. |
Stack Trace:
[ArgumentNullException: Value cannot be null.
Parameter name: key]
System.Web.SiteMapNode..ctor(SiteMapProvider provider, String key, String url, String title, String description, IList roles, NameValueCollection attributes, NameValueCollection explicitResourceKeys, String implicitResourceKey) +12054146
Microsoft.Xrm.Portal.Web.CrmSiteMapNode..ctor(SiteMapProvider provider, String key, String url, String title, String description, String rewriteUrl, DateTime lastModified, Entity entity, HttpStatusCode statusCode) +90
Microsoft.Xrm.Portal.Web.CrmSiteMapProviderBase.GetWebPageNode(OrganizationServiceContext context, Entity page, HttpStatusCode statusCode, Func`2 getRewriteUrl) +664
Microsoft.Xrm.Portal.Web.CrmSiteMapProviderBase.GetWebPageNode(OrganizationServiceContext context, Entity page, HttpStatusCode statusCode) +112
Microsoft.Xrm.Portal.Web.CrmSiteMapProvider.GetNode(OrganizationServiceContext context, Entity entity, HttpStatusCode statusCode) +141
Microsoft.Xrm.Portal.Web.CrmSiteMapProviderBase.GetAccessibleNodeOrAccessDeniedNode(OrganizationServiceContext context, Entity entity) +42
Adxstudio.Xrm.Web.CrmSiteMapProvider.FindSiteMapNode(String rawUrl) +766
Adxstudio.Xrm.Web.ContentMapCrmSiteMapProvider.FindSiteMapNode(String rawUrl, ContentMap map) +317
Adxstudio.Xrm.Web.<>c__DisplayClass0_0.<FindSiteMapNode>b__1(ContentMap map) +63
Adxstudio.Xrm.Cms.<>c__DisplayClass21_0`1.<Using>b__0() +70
Adxstudio.Xrm.Cms.<>c__DisplayClass10_0`1.<Using>b__0() +72
Adxstudio.Xrm.Cms.ContentMap.Using(ContentMapLockType lockType, Action action) +743
Adxstudio.Xrm.Cms.ContentMap.Using(ContentMapLockType lockType, Func`1 action) +321
Adxstudio.Xrm.Cms.ContentMapProvider.Using(ContentMapLockType lockType, Func`2 action) +561
Adxstudio.Xrm.Cms.ContentMapProvider.Using(Func`2 action) +164
Adxstudio.Xrm.Web.<>c__DisplayClass0_0.<FindSiteMapNode>b__0() +233
Adxstudio.Xrm.Web.ContentMapCrmSiteMapProvider.CachePerRequest(String method, String key, Func`1 get) +744
Adxstudio.Xrm.Web.ContentMapCrmSiteMapProvider.FindSiteMapNode(String rawUrl) +283
Adxstudio.Xrm.AspNet.Cms.PortalContext`3.GetNode(RequestContext request) +414
Adxstudio.Xrm.AspNet.Cms.PortalContext`3.<.ctor>b__30_0() +137
System.Lazy`1.CreateValue() +14337348
System.Lazy`1.LazyInitValue() +524
Adxstudio.Xrm.AspNet.Cms.PortalContext`3.<.ctor>b__30_1() +87
System.Lazy`1.CreateValue() +14337348
System.Lazy`1.LazyInitValue() +524
Adxstudio.Xrm.AspNet.Cms.PortalContext`3.get_Entity() +72
Adxstudio.Xrm.Web.Routing.PortalRouteHandler.OnPortalLoaded(RequestContext requestContext, IPortalContext portal) +345
Adxstudio.Xrm.Web.Routing.PortalRouteHandler.GetHttpHandler(RequestContext requestContext) +242
System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase context) +12410231
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165
|