1. لماذا تستخدم صفحات الويب للمراقبة في الوقت الفعلي؟
اشترت LZ مؤخرًا منزلاً في Wuxi. على الرغم من أنها تعمل في شنغهاي ، إلا أن أسعار المساكن في شنغهاي مرتفعة للغاية ولا تطاق ، لذلك اختارت Wuxi ، وهو أمر مقبول ، كمكان للاستقرار. قد يعرف الأصدقاء الذين اشتروا منزلًا عملية شراء منزل. تتمثل إحدى الخطوات المهمة للغاية في شراء منزل في أنه يتطلب إيداعًا تجاريًا للسكن. وببساطة ، عند شراء منزل ، يمكنك التحقق من حالة التسجيل في منزلك على موقع إيداع الإسكان التجاري الحكومي. إذا كان المطور قد سجل بالفعل ولا يزال يبيع هذا المنزل ، فيجب أن يكون بيعًا من غرفة نوم واحدة. والنقطة المهمة للغاية هي أنه فقط من خلال التحضير للقضية ، يمكننا المضي قدمًا إلى القرض المصرفي التالي. نظرًا لأن الفائدة المصرفية ترتفع وأعلى ، كلما كان التسجيل في وقت مبكر ، كلما كان القرض أفضل ، كلما كان ذلك أفضل. لذلك ، من المهم بشكل خاص معرفة حالة تقديم شراء منزلك في أسرع وقت ممكن.
بالطبع ، يمكنك أيضًا التحقق من حالة الإيداع الخاصة بك في موقع الويب كل يوم. من الواضح أن هذه ليست الطريقة التي يكون بها المبرمج ، كما أنه ليس الطريقة التي يوجد بها مبرمج .NET. يتمثل نهج المبرمج في إخطار البرنامج بصراحة بالهاتف المحمول بمجرد اكتمال التسجيل. بالمناسبة ، أود أن أشكو من أن موقع الويب الخاص بالإيداع بطيء حقًا.
2. اختر خدمة Windows ، النموذج (Winform) ، برنامج الويب أو وحدة التحكم؟
بالطبع ، فإن الأنسب هو خدمة Windows ، و Winform و Web على ما يرام بالتأكيد. برنامج وحدة التحكم ليس بالضرورة الأنسب ، ولكن التطور هو بالتأكيد الأسرع. بعد النظر الشامل ، كان مشروع مراقبة صغير جدًا ولم يستغرق سوى شهر أو شهرين ، أو يوم أو يومين ، لذلك لم يكن معقدًا للغاية. علاوة على ذلك ، يجب تثبيت خدمة Windows على الخادم. أهم شيء هو أن وحدة التحكم هي الأسرع في التطور والأسهل في النشر ، لذلك اخترت أخيرًا برنامج وحدة التحكم.
3. تحليل المتطلبات
1. يجب التحقق من وضع التسجيل كل بضع دقائق ، لذلك النظام. بالطبع ، إذا كان مشروعًا قويًا أو كاملًا للغاية ، فمن المستحسن استخدام quartz.net. بالطبع ، يمكنك اختيار TopShelf و Hangfire و FluentScheduler ، إلخ.
2. لأنك تحتاج إلى التحقق من حالة تسجيل الموقع ، والحصول على HTML من صفحة ويب التسجيل ، ثم تحديد ما إذا كان HTML يحتوي على كلمة "للبيع". إذا لم يكن كذلك ، فهذا يعني أنه تم تقديم التسجيل. System.Net.WebClient مطلوب. هناك المزيد من مواقع البحث تحت .NET. الأكثر أساسية هي httpwebrequest ، httpclient ، أو retharp ، والتي هي كل خيارات جيدة.
3. نظرًا لوجود إشعار في الوقت الفعلي ، تم اختيار إشعار الرسائل القصيرة في Alibaba Cloud. نظرًا لاستخدام مشاريع أخرى ، يمكننا نسخ الكود مباشرة لاستخدامه. بالطبع ، هناك أيضًا العديد من الإخطارات ، مثل رسائل البريد الإلكتروني والتطبيقات ، وما إلى ذلك ، بالطبع لا نحتاج إلى أن نكون معقدين.
4. وحدة الكود
الرمز المباشر والمنطق والرمز بسيط.
برنامج الفئة {static system.timers.timer timer = null ؛ static void main (string [] args) {timer = new system.timers.timer (2 * 60 * 1000) ؛ timer.elapsed += timer_elapsed ؛ ؛ Timer.Start () ؛ console.ReadKey () ؛ } private static void timer_elapsed (مرسل الكائن ، system.timers.elapsedeventargs e) {webClient client = new WebClient {inchoding = system.text.encoding.getencoding ("utf-8")} ؛ var html = client.downloadString ("http://www.xxxx.com/xxxx.html") ؛ console.writeline (dateTime.now.toString ("Yyyy-MM-DD HH: MM: SS") + "..." + "لم يتم توقيعه.") ؛ if (html.indexof ("for sale") == -1) {if (timer! = null) timer.stop () ؛ // أرسل 5 رسائل نصية لـ (int i = 0 ؛ i <5 ؛ i ++) {// إرسال smsmessage.send ("152 **** 7178" ، "sms_92310001" ، new {name = "eMrys" ، status = "تهانينا ، تهنئة ، تم توقيع المنزل للبيع!"}) ؛ thread.sleep (5 * 1000) ؛ }}}}