2013-04-30 4 views
1

쇼핑 카트 (C#)는 독점적으로 사용자 세션에 묶여 있으며 여기에 저장됩니다. 문제는 없습니다.Shoppingcart와 db의 제품 간 동기화

사용자가 장바구니에 항목을 넣을 때마다 제품 db에 "reserved"라는 속성이 추가되고 "instock"도 빼집니다. 이렇게하면 재고 크기와 제품 가용성을 추적하는 데 도움이됩니다.

하지만 사용자가 주문을 이행하지 않은 경우, 특히 전체 쇼핑 카트로 브라우저를 닫은 경우 상품 DB를 정리해야합니다. 상품 DB는 '예약'에서 '쇼핑'으로 이동해야합니다.

브라우저 클로즈를 감지 할 수 없어 귀찮게 느껴지므로 어떻게 제품 db를 깨끗하고 적절한 방식으로 유지 관리하면이 문제를 해결할 수 있습니까?

이 아키텍처 문제에 대한 의견이나 "우수 사례"가 누락 되었습니까?

감사합니다. Finn.

+0

고맙습니다 카를로스을 만들기 위해 SQL 에이전트를 사용할 수 있습니다. 네, 제가 할 수있는 일을 알고 있지만 가능한 한 간단하게 솔루션을 원합니다. db가없는 가게의 버전을 생각할 수도 있습니다. 가능한 경우 모든 다른 이벤트와 함께 브라우저를 감지 할 수있는 크로스 브라우저 라이브러리를 만드는 어려운 방법을 생각하고 있습니다. 나는이 순간을 모른다. –

답변

1

시간이 지남에 따라 SQL 작업을 빌드하는 그런 종류의 물건.

사용자에게 구입을 완료하는 X 분을 제공합니다. 완료되지 않은 경우 SQL 작업은 완료되지 않은 레지스터를 삭제합니다.

은 쉽게 귀하의 코멘트에 대한 작업 작업

Sql Jobs