void ConfigureMarketingSystem(PipelineInfo pipeInfo, CacheManager cacheManager) { CommerceResource marketingResource = resources["Marketing"]; string marketingConnStr = marketingResource["connstr_db_marketing"].ToString(); string cleanedMarketingConnStr; CleanSqlClientConnectionString(marketingConnStr, out cleanedMarketingConnStr); CommerceServer.Core.Runtime.IDictionary marketingCacheDict = new Dictionary(); marketingCacheDict["ConnectionString"] = marketingConnStr; marketingCacheDict["DefaultLanguage"] = marketingResource["s_DefaultMarketingSystemLanguage"].ToString(); ExpressionEvaluator exprEval = null; try { //Create the expression evaluator IExpressionStoreAdapter evaluatorStoreAdapter = new MarketingExpressionStoreAdapter(cleanedMarketingConnStr); exprEval = new ExpressionEvaluator(); exprEval.Connect(evaluatorStoreAdapter); //Set Discounts cache. cacheManager.set_RefreshInterval("Discounts", 0); cacheManager.set_RetryInterval("Discounts", 60); cacheManager.set_CacheObjectProgId("Discounts", "Commerce.Dictionary"); cacheManager.set_LoaderProgId("Discounts", "Commerce.CSFLoadDiscounts"); marketingCacheDict["Evaluator"] = exprEval; cacheManager.set_LoaderConfig("Discounts", marketingCacheDict); cacheManager.set_WriterConfig("Discounts", marketingCacheDict); cacheManager.set_WriterProgId("Discounts", "Commerce.CSFWriteEvents"); //Set Advertising cache. cacheManager.set_RefreshInterval("Advertising", 300); cacheManager.set_RetryInterval("Advertising", 60); cacheManager.set_CacheObjectProgId("Advertising", "Commerce.Dictionary"); cacheManager.set_LoaderProgId("Advertising", "Commerce.CSFLoadAdvertisements"); cacheManager.set_WriterConfig("Advertising", marketingCacheDict); cacheManager.set_WriterProgId("Advertising", "Commerce.CSFWriteEvents"); pipeInfo["Evaluator"] = exprEval; } finally { if (exprEval != null) { Marshal.ReleaseComObject(exprEval); } if (marketingCacheDict != null) { Marshal.ReleaseComObject(marketingCacheDict); } } }
void ConfigureOrderSystem(PipelineInfo pipeInfo, CacheManager cacheManager) { CommerceResource transactionConfigResource = resources["Transaction Config"]; string transactionConfigConnStr = transactionConfigResource["connstr_db_TransactionConfig"].ToString(); string cleanedTxConfigConnstr = null; CleanSqlClientConnectionString(transactionConfigConnStr, out cleanedTxConfigConnstr); CommerceServer.Core.Runtime.IDictionary shippingMethodCacheDict = new Dictionary(); shippingMethodCacheDict["ConnectionString"] = cleanedTxConfigConnstr; shippingMethodCacheDict["TableName"] = "txVirtual_Directory"; CommerceServer.Core.Runtime.IDictionary paymentMethodCacheDict = new Dictionary(); paymentMethodCacheDict["ConnectionString"] = cleanedTxConfigConnstr; paymentMethodCacheDict["TableName"] = "txVirtual_Directory"; pipeInfo["TransactionConfigConnectionString"] = transactionConfigConnStr; try { //Set shipping method cache. cacheManager.set_RefreshInterval("ShippingManagerCache", 0); cacheManager.set_RetryInterval("ShippingManagerCache", 30); cacheManager.set_CacheObjectProgId("ShippingManagerCache", "Commerce.Dictionary"); cacheManager.set_LoaderProgId("ShippingManagerCache", "Commerce.ShippingMethodCache"); cacheManager.set_LoaderConfig("ShippingManagerCache", shippingMethodCacheDict); cacheManager.set_WriterConfig("ShippingManagerCache", shippingMethodCacheDict); //Set payment method cache. cacheManager.set_RefreshInterval("PaymentMethodCache", 0); cacheManager.set_RetryInterval("PaymentMethodCache", 30); cacheManager.set_CacheObjectProgId("PaymentMethodCache", "Commerce.Dictionary"); cacheManager.set_LoaderProgId("PaymentMethodCache", "Commerce.PaymentMethodCache"); cacheManager.set_LoaderConfig("PaymentMethodCache", paymentMethodCacheDict); cacheManager.set_WriterConfig("PaymentMethodCache", paymentMethodCacheDict); } finally { if (shippingMethodCacheDict != null) { Marshal.ReleaseComObject(shippingMethodCacheDict); } } }