나는 독특한 제품 만 가지고있는 쇼핑 웹 사이트에서 일하고 있습니다. 따라서 사용자는 동시에 동일한 제품을보고 카트에 추가 할 수 있지만 주문할 때 누구든지 먼저 카트를 올리면 같은 품목이 카트에 추가됩니다.특정 코드 조각을 잠그는 법 C#
하지만 전화를 걸면 내 장소 주문 코드가 잠기고 다른 모든 요청은 완료되지 않을 때까지 대기열에서 대기해야한다는 점을 어떻게 문제가 있습니다. lock 키워드에 대해서는 읽었지만별로 생각하지 않았습니다. 어떤 도움을 주시면 감사하겠습니다.
1 단계 :
다음은 내 코드에 대한 몇 가지 단계는 해당 항목을 사용할 수 없거나 볼 수있는 제 3 자 서비스를 호출하지 2 단계 : 항목을 사용할 수있는 경우 다음 호출하여 구매하는 제 3 자 서비스 . 3 단계 : 성공적으로 구입 한 경우 플래그 등으로 데이터베이스를 업데이트하십시오.
코드 샘플을 제공해 주시겠습니까? –
근본적인 디자인 상 결함이있는 것 같습니다. 요청이 서로 간섭하지 않아야하며 작동시키기 위해 어떤 종류의 잠금도 수행하면 안됩니다. 코드를 보면 잘못된 점을 파악하는 데 도움이됩니다. – itsme86
이것은'lock'을위한 것이 아닙니다. 인물이 장바구니에있는 동안 항목을 재고에서 일시적으로 '제거'하는 방법이 필요합니다 (귀하의 질문이 올바르게 이해 된 경우). 내가 생각할 수있는 가장 좋은 방법은 데이터베이스에 카트를 넣는 것입니다. 그러면 카트에 대해 항상 쿼리하여 잠재적 인 주식이 무엇인지 확인할 수 있습니다. –