في بعض الأحيان ، عند تكوين مراقبة HTTP (S) أو اختبار تحميل للتحقق من أداء موقع الويب أو واجهة برمجة التطبيقات ، تحتاج إلى إرسال طلبات HTTP بحمولة متغيرة ديناميكيا. على سبيل المثال ، قد تحتاج إلى إرسال JSON مع معرف منتج فريد لإضافة منتج جديد إلى قاعدة بيانات تطبيق التجارة الإلكترونية ، أو تاريخ ووقت فعليين إلى خادم ويب ، إلخ. أو لنفترض أنك بحاجة إلى معلمة حمولة لتحميل اختبار واجهة برمجة التطبيقات الخاصة بك.

يدعم Dotcom-Monitor بناء جملة Razor وأقنعة البيانات للسماح للمستخدمين بتكوين طلبات HTTP المتغيرة ديناميكيا والمعلمة لأغراض مراقبة الويب واختبار التحميل.

بشكل عام، يتضمن تكوين الحمولة الديناميكية خطوتين أساسيتين:

  • تحديد بيانات النص الأساسي باستخدام المعلمات الديناميكية (JSON، XML، Text، JavaScript، HTML) في حقل نشر البيانات (تصحيح، وضع).
  • الإعلان عن طريقة تحليل في الحقل “إعداد البرنامج النصي “. إذا لم يتم تحديد طريقة التحليل ، فسيقوم النظام بمعالجة بيانات النص الأساسي كنص.

إذا كان من الضروري تحديد بارامترية بيانات النص الأساسي لطلب HTTP، فيمكن الإعلان عن معلمات السياق المقابلة في الحقل ” إعداد البرنامج النصي” أو باستخدام الخيار
“إدارة معلمات
السياق”.

استخدام محرك الحلاقة

يمكن تغيير بيانات JSON أو محتوى البرنامج النصي الذي يتم تمريره في نص طلب HTTP ديناميكيا باستخدام بناء جملة محرك Razor. عند العمل باستخدام بناء جملة Razor في حقل Post Data ، استخدم البادئة @ لوضع علامة على النص التالي كعنصر تعليمات برمجية C # (تعبيرات مضمنة أو كتل عبارة مفردة أو كتل متعددة العبارات). للعثور على مزيد من المعلومات حول بناء جملة Razor ، يرجى زيارة https://www.w3schools.com/asp/razor_syntax.asp.

في حالة اكتشاف أي أخطاء في بناء جملة Razor أثناء تحليل نص الطلب، سيتم إنشاء خطأ وإضافته إلى تقرير تنفيذ الاختبار.

يدعم Dotcom-Monitor نموذج Razor (يحدد بنية رسالة إدخال Razor) بالخصائص التالية:

  • @Model.DeviceID – متغير يقوم بإرجاع معرف فريد لجهاز المراقبة الحالي.
  • @Model.TaskID – متغير يقوم بإرجاع معرف فريد لمهمة المراقبة الحالية.
  • @Model.SessionID – متغير يقوم بإرجاع معرف فريد لجلسة المراقبة الحالية.

يمكنك استخدام معلمات السياق في تعبيرات Razor. للإشارة إلى معلمة سياق في تعبير Razor ، قم بلف الإشارة إلى معلمة السياق بين قوسين معقوفين [ ] وأرفق اسمها بعلامات اقتباس مزدوجة ” :

@Model["ContextParameterName"]

لإعلام النظام بأن البيانات الموجودة في نص الطلب تتطلب تحليلها بواسطة محرك Razor، في الحقل “إعداد البرنامج النصي”، أضف الأسلوب ProcessPostDataByRazor(currentTask). خلاف ذلك ، سيتم تحليل عناصر التعليمات البرمجية من بيانات المشاركة كنص.

مثل

لنفترض أننا نريد إرسال معرف جهاز وعلامة اختبار في نص طلب HTTP ، ثم نحتاج إلى تكوين حقل Post Data على النحو التالي:

{ "Device": "@Model.DeviceID", "ContextTest": "@Model["Test"]" }

ثم نحتاج إلى تعيين قيمة معلمة السياق وطريقة التحليل في حقل إعداد البرنامج النصي :

context.Test = "Website Availability Monitoring";
ProcessPostDataByRazor(currentTask);

حيث لا تعتمد المعلمة currentTask على اسم مهمة ولها نوع المهمة التي تتم معالجتها حاليا.

استخدام أقنعة البيانات في طلبات HTTP

يمكنك الرجوع إلى معلمات السياق في نص POST عن طريق التفاف مرجع اسم المعلمة في علامات علامة على كلا الجانبين. لذلك سيتم إدخال إشارة إلى معلمة السياق “GUID” على النحو التالي:

{"ContextGuid": "%%%Guid%%%"}

هنا تخبر علامات النسبة المئوية النظام أن هذا مرجع معلمة سياق وليس جزءا من سلسلة.

لإعلام النظام بأن البيانات الموجودة في نص الطلب تحتاج إلى تحليل بواسطة قناع محدد، في الحقل ” إعداد البرنامج النصي “، أضف ProcessPostDataByMask(currentTask، “علامات العلامة”). خلاف ذلك ، سيتم تجاهل معلمة السياق وتمريرها كنص. بالنسبة للمثال المقدم أعلاه، سيحتوي الحقل “إعداد البرنامج النصي” على السلسلة التالية:

ProcessPostDataByMask(currentTask, "%%%");

حيث لا تعتمد المعلمة currentTask على اسم مهمة ولها نوع المهمة التي تتم معالجتها حاليا.