تخزين عميل متغيرات

ولعلكم تتذكرون أن متغيرات جلسة يتم تخزينها في الذاكرة ، في حين أن المتغيرات عميل المخزنة في القرص الهيكل ، والهيكل الداخلي للمتغيرات الدورة في الذاكرة هو غير مهم ، ولكن الخيارات لتخزين بعض المتغيرات عميل تستحق المناقشة. افتراضيا ، كولد فيوجن مخازن عميل المتغيرات في سجل ويندوز. كما ترون ، جميع المتغيرات عميل المخصصة لدورة معينة ويتم تخزين تحت المفتاح الذي يأخذ اسمه من CFID وCFTOKEN من دورة معينة. المشكلة هي أن ويندوز قلم المحكمة لم يكن المقصود منها أن تكون بيانات عالية السرعة ، والتخزين ونظام الاسترجاع ، وأعداد كبيرة من العدد متتالية يمكن أن تؤثر على أداء الملقم. والخيار الأفضل هو لتخزين المتغيرات العميل على خادم قاعدة بيانات. هذا هو أكثر قليلا من المشاركين تخزين البيانات في قلم المحكمة. يجب عليك أولا إنشاء قاعدة بيانات واحدة كولد فيوجن التي يمكن استخدامها لتخزين عميل متغير. للقيام بذلك ، اتبع الخطوات التالية :

  

1. في كولد فيوجن مدير البرنامج ، واقامة كولد فيوجن مصدر بيانات لتخزين المتغيرات العميل. (وينبغي أن يكون خادم قاعدة البيانات الفعلية ، مثل مايكروسوفت وأوراكل مزود الخدمة وليس ملف ومقرها المنتج مثل مايكروسوفت الوصول.)

2. انتقل إلى متغيرات عميل كولد فيوجن للمدير ، واختيار مصدر البيانات الذي أنشأته للتو ، وفوق إضافة.

3. مصدر بيانات تعطي وصفا ذات معنى ، وترك كافة خانات الاختيار في مواقعها الافتراضية ، وانقر فوق تقديم. تعديل خانة إعدادات مربع فقط إذا كنت متأكدا تماما من أن تحتاج إلى وبعد تلك الخطوات التالية ، تحتوي قاعدة البيانات الخاصة بك الآن مادتان جديدتان : CDATA وCGLOBAL. CDATA يحتوي على بيانات العميل متغير ، وCGLOBAL يحتوي على معلومات عالمية من أجل كل دورة ، مثل العد ضرب ووقت الزيارة الأخيرة لبدء استخدام عميل متغيرات قاعدة البيانات ، يمكنك القيام به واحدا من أمرين :

تعيين مصدر بيانات مثل العميل الافتراضية متغير تخزين الخيار في كولد فيوجن المسؤول. هذا هو فكرة جيدة لأن أيا من الشفرة الخاصة بك يجب أن تتغير لدعمه. هذه ليست فكرة جيدة ، ولكن ، إذا قمت بتشغيل عدة مواقع ويب مع قواعد البيانات Clientvariable متعددة ، لأنك ربما عن غير قصد تخزين المتغيرات في المكان الخطأ.

استخدام العلامة CFAPPLICATION على النحو التالي :

هذا هو الخيار الأفضل بصفة عامة ، كما أنها تعطيك أكثر دقة والسيطرة على المتغيرات العميل الخاص بك حيث يتم تخزينها.

...

لماذا لا نستخدم UCase ()؟ للأسف ، المعلمة JSESSIONID هذا جزء من Session.URLToken يتم تضمين كمعلمة صغيرة ؛ J2EE ، ومع ذلك ، يتطلب أن تكون كما شملت JSESSIONID الكبيرة. إذا كنت لا تشمل الدعوة إلى UCase () ، والدولة لا يتم الاحتفاظ بين الطلبات. واحد من التفاصيل الهامة لكولد فيوجن التنمية التي غالبا ما يتم التغاضي عن أسف إطار التطبيق ، والتي تتلخص في جزأين : الاستخدام الفعال للApplication.cfm ، OnRequestEnd.cfm ، والعلامة CFAPPLICATION. ملف واحد من شأنها أن توجد تقريبا في كل تطبيق كولد فيوجن هو Application.cfm. كولد فيوجن ينفذ هذا الملف قبل كل طلب صفحة ، مما يجعل Application.cfm مكانا ممتازا لمجموعة المتغيرات التي طلب كل صفحة يمكن استخدامها ، مثل اسم مصدر البيانات الخاص بك ، وقاعدة البيانات اسم المستخدم وكلمة المرور ، وغيرها من الثوابت العالمية. بالإضافة إلى ذلك ، سيتم أيضا تنفيذ كولد فيوجن قالب اسمه OnRequestEnd.cfm بعد كل طلب صفحة ، مما يجعل OnRequestEnd.cfm المكان المثالي لوضع مدونة تذييل لموقعك. عند طلب كولد فيوجن القالب ، كولد فيوجن أول شيء يفعله هو البحث عن التطبيق. كفم في الدليل الذي يحتوي على القالب المطلوب. إذا كولد فيوجن يرى Application.cfm ، وتوقف عن البحث وكولد فيوجن تعدم Application.cfm. إذا لم يكن هناك أحد Application.cfm في الدليل الحالي ، كولد فيوجن تفتيش كل دليل في طلب القالب المسار حتى كولد فيوجن يرى ملف اسمه Application.cfm. فعلى سبيل المثال ، إذا طلبت ج : \ inetpub \ wwwroot \ mydirectory \ mytemplate.cfm ، من شأنه أن كولد فيوجن البحث عن Application.cfm في الدلائل التالية في هذا النظام :

ج : \ inetpub \ wwwroot \ mydirectory \ ج : \ inetpub \ wwwroot \ ج : \ inetpub \ ج : \

كولد فيوجن إذا لم يعثر Application.cfm في أي مكان في طلب القالب التسلسل الهرمي الدليل ، كولد فيوجن ببساطة ينفذ طلب القالب ، وعندما طلبت قالب التشطيبات ، كولد فيوجن تبدو في نفس الدليل حيث وجدت Application.cfm عن ملف اسمه OnRequestEnd.cfm . كولد فيوجن إذا لم يجد OnRequestEnd.cfm في نفس المكان Application.cfm ، كولد فيوجن ببساطة إنتهاء الطلب. OnRequestEnd.cfm لا يتبع نفس الدليل على أن عملية اجتياز Application.cfm لا. والمشكلة هي معرفة أين يضع Application.cfm وOnRequestEnd.cfm. بعض التطبيقات وضع Application.cfm في كل دليل واحد في التطبيق ، في حين أن البعض الآخر لا تشمل Application.cfm على الإطلاق. أفضل الممارسات تكمن في مكان ما بين هذين النقيضين ، وعادة ما يكون واحد فقط Application.cfm في جذور بنية الدليل لطلبي بأكملها. غير أنني سوف ، إضافة Application.cfm في أي مكان أنه من الضرورة القصوى ، ولكن أنا حريصة جدا على إضافة Application.cfm فقط حيث لدي سبب مقنع للقيام بذلك. CFAPPLICATION هو حجر الزاوية في كولد فيوجن في إطار التطبيق. دون CFAPPLICATION ، فإنك لن تكون قادرا على تعيين عميل ، الدورة ، أو التطبيق المتغيرات ، وأنت لن تكون قادرة على الحفاظ على الدولة ، لأن CFAPPLICATION هو كولد فيوجن في آلية لمعالجة CFID وCFTOKEN. الدولة جوانب إدارة CFAPPLICATION ذكرت في وقت سابق ، ولكن سمة واحدة من CFAPPLICATION التي يتم للأسف غالبا ما يتم تجاهلها هي السمة الاسم :

السمة اسم أقسام CFAPPLICATION التطبيق ، الدورة ، والمتغيرات في المساحات عميل تطبيق منفصل. إذا كنت استدعاء CFAPPLICATION مع اسم من اسم التطبيق في طلب واحد واسم YourApp في طلب آخر ، لن تطلب تطبيق حصة الآخر ، الدورة ، أو متغيرات عميل لأن الطلبين يتم تطبيق في أماكن مختلفة. والنقطة المهمة هي أن جميع السمات CFAPPLICATION في التطبيق كله يجب الإشارة دائما إلى تطبيق نفس الاسم. بعض المطورين في محاولة لتقسيم التطبيق إلى مناطق مختلفة ، ولكنها لا تفعل ذلك. تقسيم طلب واحد في مساحات متعددة من التطبيقات في كل مرة يرتد لأن المطور سيكون دائما أن ننسى أن أحد المتغيرات في قوالب التطبيق استخدام الفضاء الدورة مختلفة من قوالب أخرى في الفضاء التطبيق. يبقيه بسيط واستخدام تطبيق واحد فقط لاسم كل طلب في التطبيق الخاص بك.

مقال مقدم من لوكاس Arnelas


تنويه :موقعنا على الانترنت ليست مسؤولة عن محتوى هذه المادة. Webarticles هو حر للمعلومات.
المهم : هذه المادة "تخزين متغيرات عميل" وقد ترجم من قبل البرمجيات التلقائي. نشعر بالاسف من اجل أي الأخطاء الإملائية التي قد حدث. شكرا لتفهمكم.


Online: 375 users browsing the articles directory