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

Web Service

بدأه man_J في 20 سبتمبر 2008 · 9 رد · 1,016 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا عندي web service يقوم في الكثير من process، وعمل connection مع database بس المشكل تحدث كثير من open and close connection.

س / هل توجد طريق اني اجعل web Service دائما open مع database بدون مشاكل ؟

وشكرا..................................

#2

لا أعرف صراحه عن الوب سريفس

لكن web page

أذا جعلته مفتوح يعمل ضغط على connaction

تخيل أنه عشرة مستخدمين على أقل تقدير في نفس الوقت يعملوا تحديث أو أستعراض بيانات

يظهر error بسبب الضغط على connection

في هذه الحاله يجب أغلاقه في كل عمليه

ومن الحوط أن نستخدم هذا الكود خاصة أذا لم نعرف هل تم الفتح أم لا

If Myconn.State = ConnectionState.Closed Then

Myconn.Open()

End If

/code]

تم تعديل هذه المشاركة بواسطة Al-Mohana في 20 سبتمبر 2008 في 14:15

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#3

شكرا اخي على الرد بس تخيل عندما يكون multi request على النظام وهو يقوم open establish with database و close سياخذ وقت في response.

هل اجد حل ؟

وشكرا..................

#4

Invoking a Web Service Using Asynchronous Request-Response

ان شاء الله يكون ده طلبك

ولدي إليك وصيتي عهد الأسودْ

العز غايتنا نعيش لكي نسود

و عريننا في الأرض معروف الحدود

فاحم العرين و صنه عن عبث القرود

أظفارنا للمجد قد خُلقت فدى

و نيوبنا سُنَّت بأجساد العدى

و زئيرنا في الأرض مرهوب الصدى

نعلي على جثث الأعادي السؤددا

#5

كما تفضل الأخ هناك الـasynchronus web service

كما أنه يمكنك تفعيل خاصية الـconnection pooling في قاعدة البيانات التي تستخدمها (إذا كانت تدعمها). و هي تجعل قاعدة البيانات تحتفظ ببعض الإتصالات مفتوحة (حتى لو أغلقتها أنت) لبعض الوقت تحسباً لقدوم عمليات جديدة.

#6

شكرا يا اخوان

#7

اذا كنت تحتاج أن تكون بعض البيانات حاضرة دائماً و هي من النوع الذي لا يتغير, بمعنى البيانات غير متغيرة بشكل سريع, يمكنك وضعها في الCache و قراءتها منها فهذا سيعطيك سرعة أكبر كثيراً من الDB

و يمكنك عمل Update أو Refresh للCache كل مدة بحيث تتناسب هذه المدة مع تغير البيانات

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#8

شكر يا dashmohandes المشكل ليست cache وانما هي كيف اضع connection دائما open بحيث ان اي request الي web Service يكون جاهز بدون عمل Establish with database وهذا ياخذا وقت.

#9
man_J كتب:
شكر يا dashmohandes المشكل ليست cache وانما هي كيف اضع connection دائما open بحيث ان اي request الي web Service يكون جاهز بدون عمل Establish with database وهذا ياخذا وقت.

يا أخي ان كنت تبحث عن الPerformance فما تقوله لن يوفر لك أي شئ على العكس سيؤثر بالسلب على النظام كله, فتخيل لو كل session على الservice فتحت Connection على الDB دون أن تغلقه ؟؟؟

ما قلته لك هو أن تقرأ البيانات التي تحتاجها من الDB ثم تخزنها في الذاكرة داخل الCache ثم تقرأ من الCache فيما بعد و اعتماداً على معدل تغير المعلومات في الDB يمكنك عمل تحديث للCache ...

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#10

شكر اخي bashmohands

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