我有一些带有促销代码的数组(来自request): $promocodes = ['K1H5E1F1', 'M4C8A5K6', 'A3B9A45KL']; 我在Elasticsearch中有产品数据(例如,我会给出一个产品的数据): // First product (2 promocodes matched, take a lower price 265.5 and filter this product at this price)
"price": 199,
"promocodes" : [
{
我正在使用实体框架代码优先方法开发一个Asp.Net mvc项目。但我正在努力提高我的应用程序的性能。如果再次访问相同的条件,则不清楚实体框架是否再次运行数据库查询。
这是我的代码:
var item = context.Items.FirstOrDefault();// Database query will be run for this
var start = item.Promotions.FirstOrDefault().Start; // Another query will be run for this
var end = item.Promotions.FirstOrDefa
我试图将一些商业案例映射到循环壁垒的使用上。假设我们有一个促销优惠正在进行,只有3个客户可以得到促销优惠。其余的人都不会得到这个提议。
为了映射这个场景,我使用了循环屏障。即使代码工作正常,我也不知道如何处理一些客户无法获得报价的场景。现在,我尝试使用具有超时值的await() API,这样我就可以捕获TimeoutException并让客户知道他无法利用促销服务。这导致了另一个等待线程的BarrierBrokenException。
我想知道,我们如何优雅地处理这些场景,以便选定的客户可以利用促销优惠,而那些谁不能遵循不同的代码路径。
我的密码-
public class CyclicBar