PDA

View Full Version : سوال: ثبت همزمان اطلاعات در شبکه



Iran58
سه شنبه 28 آبان 1392, 20:55 عصر
باسلام
فرض كنيد برنامه را تحت شبه كرده ايم
و دوكاربر كه يك سطح دسترسي دارند مي خواهند در جدول نام گروهي را وارد كنند همزمان
حال چه كدي بنويسم بين اين دو ثبت همزمان جند ثانيه اختلاف بذارم تا مشكلي در ثبت همزمان پيش نياييدو يااگر تكراري بود پيام تكراري بودن را نشان بدهد

FastCode
سه شنبه 28 آبان 1392, 21:16 عصر
اولا که لازم نیست اختلاف زمانی وجود داشته باشه
۱.serializable transaction
در این روش شما عملیات رو در یک transaction با isolation level ه serilizazble انجام میدید.
http://technet.microsoft.com/en-us/library/ms173763.aspx
۲.stored procedure
این یکی در واقع یک روش نیست.اشتباها نوشتم.میتونید با روش های دیگه ترکیبش کنید.
۳.uuid primary key
در این روش هم کلید اصلی جدولتون رو از نوع uuid میزارید.
روشهای دیگه هم هستند.
مثلا میتونید کد کلاینتی که اطلاعات رو ذخیره کرده رو در جایی ذخیره کنید و موقعی دسترسی به اطلاعات آخرین سطری که اون کاربر ثبت کرده رو به دست بیارید و باهاش کار کنید.در سیستمها خیلی پیچیده که کنسل شدن یک تراکنش ممکنه خیلی وقت کاربر رو بگیره از این روش استفاده میشه.