الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية منع دخول اكثر من مستخدم لاجراء في نفس الوقت

مغلق
بدأه mohamedbdran في 28 مارس 2006 · 10 رد · 831 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

لدي استفسار عن كيفية منع استدعاء حدث معين في نفس اللحظة

اي ان عندي button معين وفي button_click اجراء يقوم بادخال بيانات لقاعدة البيانات واريد اذا ضغط اكثر

من مستخدم على الbutton في نفس اللحظة ان لا يذهب الحدث في نفس اللحظة اي اريد ان يذهب كل حدث عندما ينتهي الجدث اللذي قبله

فهل application.lock و application.unlock تفيدني في هذه العملية

وشكرا لتعاونكم

#2

تقصد نفس المستخدم أم جميع مستخدمي الموقع؟

logo.gif
استضافة ويندوز


اقتباس

مساحة تبدأ من 2000 ميجا بايت بسعر 1.99 دولار شهريا.ا

اقتباس

ASP.NET 1.1-2.0-3.0-3.5-4.0-4.5.1 / MVC ASP.NET / PHP 5.x / ColdFusion / MSSQL 2008 & 2012 / MYSQL

#3

اقصد جميع مستخدمين الموقع كل واحد ينفذه عند انتهاء تنفيذ الذي قبله

#4

حتى تستطيع الوصول والتحكم في جميع المستخدمين استعمل Application object

في حدث الزر ضع التالي

If IsNothing(application("runornot")) Then
     '----هذا الزر مضغوط عليه لاول مرة
Application("runornot") = 1
     '----ضع شفرتك هنا
Application("runornot") = nothing

Else

ٌResponse.write("الإجراء قيد الإستخدام")

End If

طبعا، يفضل استخدام ال Lock و Unlock عند تغيير ال Application

بالتوفيق

logo.gif
استضافة ويندوز


اقتباس

مساحة تبدأ من 2000 ميجا بايت بسعر 1.99 دولار شهريا.ا

اقتباس

ASP.NET 1.1-2.0-3.0-3.5-4.0-4.5.1 / MVC ASP.NET / PHP 5.x / ColdFusion / MSSQL 2008 & 2012 / MYSQL

#5

بهذه الطريقة أذا كان عدد المستخدمين كبير سوف يضطر المستخدمين الى الأنتظار الى وقت كبير و لا أظن أن هذا سوف يكون جيد

من الأفضل أن تستعمل الـThreads و ترى ما يمكنك فعله بها

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#6

فعلا انا لدي الكثير من المستخدمين ويا ريت احد يزودني بافضل حل

#7

كلامك صحيح،

يمكنه أيضا عمل طابور من الـ Requests وتخزينه في قاعدة بيانات مثلا وإنشاء Thread لمعالجة ذلك.

logo.gif
استضافة ويندوز


اقتباس

مساحة تبدأ من 2000 ميجا بايت بسعر 1.99 دولار شهريا.ا

اقتباس

ASP.NET 1.1-2.0-3.0-3.5-4.0-4.5.1 / MVC ASP.NET / PHP 5.x / ColdFusion / MSSQL 2008 & 2012 / MYSQL

#8

ممكن توضح الفكرة و ما تريد تنفيذه

حتى نستطيع أن نساعدك :)

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#9

انا لدي button فيها stored procedure (يوجد فيه اكثر من جملة insert) وكل جملة insert يوجد فيها id

يعنمد عليه جملة الinsert الذي بعده حيث ياخذ الmax id ويضعه في جملة الinsert الذي بعده

وانا لا اريد ان يضغط اكثر من مستخدم على button لكي لا يحدث مشاكل بحيث ياخذ المستخدم الاول ال max id للمستخدم الثاني وهكذا

علما بانه يوجد لدي الكثير من المستخدمين والكثير جدا فاريد لكل مستخدم ان ينفذ كل جمل insert على حدا باسرع وقت

#10

أولا الـStored procudre سوف تعالج هذا الموضوع ببساطة لانها تعمل LOCK و ده بيتم بطريقة أتوماتيكية

و أذا لم تكن مقتنع قم يتجربت أستعمال الـTransaction من الممكن أن تحل المشكلة

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#11
neo كتب:
أولا الـStored procudre سوف تعالج هذا الموضوع ببساطة لانها تعمل LOCK و ده بيتم بطريقة أتوماتيكية

ممكن ترشدني إلى مقال يتحدث عن هذا حتى نستزيد من المعلومات؟

neo كتب:

و أذا لم تكن مقتنع قم يتجربت أستعمال الـTransaction من الممكن أن تحل المشكلة

الـ Transaction لا تستخدم لهذا الغرض وأهميتها تكمن في التأكد من أن مجموعة من التعليمات نفذت دون أخطاء وإلا يتم استرجاع المعلومات.

logo.gif
استضافة ويندوز


اقتباس

مساحة تبدأ من 2000 ميجا بايت بسعر 1.99 دولار شهريا.ا

اقتباس

ASP.NET 1.1-2.0-3.0-3.5-4.0-4.5.1 / MVC ASP.NET / PHP 5.x / ColdFusion / MSSQL 2008 & 2012 / MYSQL

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…