meisam1366
یک شنبه 01 خرداد 1390, 15:15 عصر
سلام دوستان!
یک سوال در مورد استفاده همزمان چند کاربر از یک سایت دارم.
تو یک صفحه ASPX وقتی کاربر برای دریافت تعداد مشخصی کد اکانت، روی دکمه کلیک میکنه، سیستم میره بررسی میکنه ببینه اون تعداد اکانتی که کاربر میخواد تو سیستم هست یا نه (با یه دستور Select Top(@num) * From...) و در صورت وجود تعداد مشخص شده، وضعیت این اکانتها رو تو وضعیت واگذار شده قرار میده تا این اکانتها توسط کاربر دیگه ای دریافت نشه و بعد توی یک جدول واگذاری، آیدی اون اکانتها رو به کاربر نسبت بده.
حالا مسئله اینجاست که اگر این فرایند توی یک سیستم تک کاربره اجرا بشه، مشکلی به وجود نمیآید؛ اما وقتی بخواد روی اینترنت باشه و همزمان چند کاربر بخواهنند تعدادی اکانت رو دریافت کنن، ممکنه تداخلی روی بده و چون احتمال داره توی یک لحضه دو یا چند کاربر روی دکمه دریافت کلیک کنند، احتمال داره یک اکانت به دو کاربر ارائه بشه (چون همونطور که گفتم، اول سیستم میره تعداد اکانتها رو از یک DataTable بررسی میکنه و در صورت درست بودن تعداد، وضعیت همون اکانها رو توی وضعیت واگذار شده قرار میده و مابین همین بررسی تعداد و ثبت وضعیت، ممکنه یک کاربر دیگه، درخواست بده).
حالا دوستان راه حلی برای رفع این مشکل دارن؟؟
ممنون میشم کمک کنید.....
یک سوال در مورد استفاده همزمان چند کاربر از یک سایت دارم.
تو یک صفحه ASPX وقتی کاربر برای دریافت تعداد مشخصی کد اکانت، روی دکمه کلیک میکنه، سیستم میره بررسی میکنه ببینه اون تعداد اکانتی که کاربر میخواد تو سیستم هست یا نه (با یه دستور Select Top(@num) * From...) و در صورت وجود تعداد مشخص شده، وضعیت این اکانتها رو تو وضعیت واگذار شده قرار میده تا این اکانتها توسط کاربر دیگه ای دریافت نشه و بعد توی یک جدول واگذاری، آیدی اون اکانتها رو به کاربر نسبت بده.
حالا مسئله اینجاست که اگر این فرایند توی یک سیستم تک کاربره اجرا بشه، مشکلی به وجود نمیآید؛ اما وقتی بخواد روی اینترنت باشه و همزمان چند کاربر بخواهنند تعدادی اکانت رو دریافت کنن، ممکنه تداخلی روی بده و چون احتمال داره توی یک لحضه دو یا چند کاربر روی دکمه دریافت کلیک کنند، احتمال داره یک اکانت به دو کاربر ارائه بشه (چون همونطور که گفتم، اول سیستم میره تعداد اکانتها رو از یک DataTable بررسی میکنه و در صورت درست بودن تعداد، وضعیت همون اکانها رو توی وضعیت واگذار شده قرار میده و مابین همین بررسی تعداد و ثبت وضعیت، ممکنه یک کاربر دیگه، درخواست بده).
حالا دوستان راه حلی برای رفع این مشکل دارن؟؟
ممنون میشم کمک کنید.....