Developer forum

Forum » Integration » Missing cache in InternalHasAccessToProduct

Missing cache in InternalHasAccessToProduct

Anders Ebdrup
Anders Ebdrup
Reply

Dear Dynamicweb,

 

We have a solution with a lot of products and a lot of assortments where we see some critical performance issues with missing cache then using this method: InternalHasAccessToProduct. This is tested on 9.9.6

Please see the call stack here:

DECLARE @p0 NVARCHAR(12) = N'NL0000000815'
SELECT * FROM EcomAssortmentPermissions WHERE AssortmentPermissionAssortmentID = @p0
System.Data.IDataReader CreateDataReader(System.Data.IDbCommand, System.Data.CommandBehavior) (Dynamicweb.Data.dll) in :0
System.Data.IDataReader CreateDataReader(Dynamicweb.Data.CommandBuilder, System.Data.IDbConnection, System.Data.IDbTransaction, System.Data.CommandBehavior, Int32) (Dynamicweb.Data.dll) in :0
System.Data.IDataReader CreateDataReader(Dynamicweb.Data.CommandBuilder, System.Data.IDbConnection, System.Data.IDbTransaction, Int32) (Dynamicweb.Data.dll) in :0
System.Collections.Generic.IEnumerable`1[Dynamicweb.Ecommerce.Assortments.AssortmentPermission] GetAssortmentPermissions(System.String) (Dynamicweb.Ecommerce.dll) in :0
System.Collections.Generic.Dictionary`2[System.Int32,Dynamicweb.Ecommerce.Assortments.AssortmentPermission] LoadAssortmentPermissions(System.String) (Dynamicweb.Ecommerce.dll) in :0
System.Collections.Generic.IEnumerable`1[System.String] GetAssortmentIdsByUser(Dynamicweb.Security.UserManagement.User, System.String, Boolean) (Dynamicweb.Ecommerce.dll) in :0
Boolean InternalHasAccessToProduct(Dynamicweb.Ecommerce.Products.Product, Dynamicweb.Security.UserManagement.User) (Dynamicweb.Ecommerce.dll) in :0
Boolean HasAccessToProduct(Dynamicweb.Ecommerce.Products.Product) (Dynamicweb.Ecommerce.dll) in :0
Dynamicweb.Ecommerce.Products.Product GetProductById(System.String, System.String, System.String, Boolean) (Dynamicweb.Ecommerce.dll) in :0
Dynamicweb.Ecommerce.Products.Product GetProductById(System.String, System.String, System.String) (Dynamicweb.Ecommerce.dll) in :0
Dynamicweb.Ecommerce.Products.Product get_Product() (Dynamicweb.Ecommerce.dll) in :0
Dynamicweb.Ecommerce.Orders.OrderLineCollection GetProductOrderLines(Boolean) (Dynamicweb.Ecommerce.dll) in :0
Dynamicweb.Ecommerce.Prices.PriceInfo FindPrice(Boolean) (Dynamicweb.Ecommerce.dll) in :0
Dynamicweb.Ecommerce.Prices.PriceInfo get_UnitPrice() (Dynamicweb.Ecommerce.dll) in :0
Dynamicweb.Ecommerce.Prices.PriceInfo get_Price() (Dynamicweb.Ecommerce.dll) in :0
Void RenderOrderLine(Dynamicweb.Ecommerce.Orders.OrderLine, Dynamicweb.Rendering.Template) (Dynamicweb.Ecommerce.dll) in :0
Void RenderOrderLines(Dynamicweb.Ecommerce.Orders.OrderLineCollection, Dynamicweb.Rendering.Template, System.String) (Dynamicweb.Ecommerce.dll) in :0
Void RenderOrderDetails(Dynamicweb.Rendering.Template, Dynamicweb.Ecommerce.Orders.Order, Boolean, Dynamicweb.Ecommerce.Orders.OrderTemplateExtenderContext) (Dynamicweb.Ecommerce.dll) in :0
Void RenderOrder(Dynamicweb.Ecommerce.Orders.Order, Dynamicweb.Rendering.Template, Boolean, Int32, Dynamicweb.Ecommerce.Orders.OrderTemplateExtenderContext) (Dynamicweb.Ecommerce.dll) in :0
Void ExtendTemplate(Dynamicweb.Rendering.Template) (Dynamicweb.Ecommerce.dll) in :0
Void RenderPageTemplateExtenders(Dynamicweb.Rendering.Template) (Dynamicweb.dll) in :0
Void RenderPage(Dynamicweb.Rendering.Template, Dynamicweb.Frontend.PageViewModel) (Dynamicweb.dll) in :0
Void SetPageTemplateValues() (Dynamicweb.dll) in :0
System.String Output() (Dynamicweb.dll) in :0
Void ProcessRequest(System.Web.HttpContext) (Dynamicweb.dll) in :0 

 

Can you please try to look into this as soon as possible?

 

Best regards, Anders


Replies

 
Nicolai Pedersen
Reply

Hi Anders

We will investigate. Would it be possible for us to get hold of a copy of your database for debugging purposes?

Thanks, Nicolai

 

You must be logged in to post in the forum