1. เหตุใดหน้าเว็บจึงใช้สำหรับการตรวจสอบแบบเรียลไทม์?
LZ เพิ่งซื้อบ้านใน Wuxi แม้ว่าเธอจะทำงานในเซี่ยงไฮ้ แต่ราคาที่อยู่อาศัยในเซี่ยงไฮ้นั้นสูงและทนไม่ได้ดังนั้นเธอจึงเลือก Wuxi ซึ่งเป็นที่ยอมรับซึ่งเป็นสถานที่สำหรับปักหลัก เพื่อนที่ซื้อบ้านอาจรู้กระบวนการซื้อบ้าน ขั้นตอนที่สำคัญอย่างหนึ่งในการซื้อบ้านคือต้องมีการยื่นที่อยู่อาศัยเชิงพาณิชย์ หากต้องการใช้งานง่ายเมื่อคุณซื้อบ้านคุณสามารถตรวจสอบสถานะการลงทะเบียนของบ้านของคุณได้ที่เว็บไซต์การยื่นที่อยู่อาศัยเชิงพาณิชย์ของรัฐบาล หากนักพัฒนาได้ลงทะเบียนแล้วและยังคงขายบ้านหลังนี้จะต้องเป็นการขายแบบหนึ่งห้องนอน และประเด็นที่สำคัญมากคือการเตรียมตัวสำหรับคดีนี้เท่านั้นที่เราสามารถดำเนินการต่อไปยังเงินกู้ธนาคารต่อไป เมื่อดอกเบี้ยของธนาคารเริ่มสูงขึ้นเรื่อย ๆ การลงทะเบียนก่อนหน้านี้ยิ่งสินเชื่อดีขึ้นเท่าไหร่ก็ยิ่งดีเท่านั้น ดังนั้นจึงเป็นเรื่องสำคัญอย่างยิ่งที่จะต้องทราบสถานะการจัดเก็บของการซื้อบ้านของคุณโดยเร็วที่สุด
แน่นอนคุณสามารถตรวจสอบสถานะการยื่นของคุณได้ที่เว็บไซต์ทุกวัน เห็นได้ชัดว่านี่ไม่ใช่วิธีที่โปรแกรมเมอร์เป็นและเป็นวิธีที่โปรแกรมเมอร์. NET เป็น วิธีการของโปรแกรมเมอร์คือการแจ้งโปรแกรมไปยังโทรศัพท์มือถืออย่างตรงไปตรงมาเมื่อการลงทะเบียนเสร็จสมบูรณ์ โดยวิธีการที่ฉันอยากจะบ่นว่าเว็บไซต์สำหรับการยื่นนั้นช้ามาก
2. เลือกบริการ Windows, แบบฟอร์ม (winform), เว็บหรือโปรแกรมคอนโซล?
แน่นอนว่าสิ่งที่เหมาะสมที่สุดคือ Windows Service, Winform และ Web ก็โอเคอย่างแน่นอน โปรแกรมคอนโซลไม่จำเป็นต้องเหมาะสมที่สุด แต่การพัฒนานั้นเร็วที่สุดอย่างแน่นอน หลังจากการพิจารณาที่ครอบคลุมมันเป็นโครงการตรวจสอบขนาดเล็กมากและใช้เวลาเพียงหนึ่งหรือสองเดือนหรือหนึ่งหรือสองวันดังนั้นจึงไม่ซับซ้อนนัก นอกจากนี้ยังต้องติดตั้งบริการ Windows บนเซิร์ฟเวอร์ด้วย สิ่งที่สำคัญที่สุดคือคอนโซลนั้นเร็วที่สุดในการพัฒนาและง่ายที่สุดในการปรับใช้ดังนั้นในที่สุดฉันก็เลือกโปรแกรมคอนโซล
3. วิเคราะห์ข้อกำหนด
1. ต้องมีการตรวจสอบสถานการณ์การยื่นทุก ๆ สองสามนาทีดังนั้นจึงจำเป็นต้องใช้ System.timers.timer แน่นอนถ้าเป็นโครงการที่แข็งแกร่งหรือสมบูรณ์แนะนำให้ใช้ quartz.net แน่นอนคุณสามารถเลือก topshelf, hangfire, fluentscheduler ฯลฯ
2. เนื่องจากคุณต้องตรวจสอบสถานะการลงทะเบียนของเว็บไซต์รับ HTML ของหน้าเว็บลงทะเบียนแล้วพิจารณาว่า HTML มีคำว่า "ขาย" หรือไม่ ถ้าไม่ได้หมายความว่ามีการยื่นการลงทะเบียนแล้ว จำเป็นต้องใช้ System.net.webclient มีเว็บไซต์ค้นหาเพิ่มเติมภายใต้. NET สิ่งพื้นฐานที่สุดคือ httpwebrequest, httpClient หรือ retsharp ซึ่งเป็นตัวเลือกที่ดีทั้งหมด
3. เนื่องจากจำเป็นต้องมีการแจ้งเตือนแบบเรียลไทม์จึงเลือกการแจ้งเตือน SMS ของ Alibaba Cloud เนื่องจากมีการใช้โครงการอื่น ๆ พวกเขาสามารถคัดลอกรหัสเพื่อใช้โดยตรง แน่นอนว่ายังมีการแจ้งเตือนมากมายเช่นอีเมลแอพ ฯลฯ แน่นอนว่าเราไม่จำเป็นต้องมีความซับซ้อน
4. โมดูลรหัส
รหัสโดยตรงตรรกะและรหัสนั้นง่าย
โปรแกรมคลาส {Static System.Timers.Timer Timer = NULL; โมฆะคงที่หลัก (สตริง [] args) {timer = ใหม่ system.timers.timer (2 * 60 * 1000); timer.elapsed += timer_elapsed; - timer.start (); console.readkey (); } โมฆะคงที่ส่วนตัว timer_elapsed (ผู้ส่งวัตถุ, System.timers.elapsedEventArgs e) {ไคลเอนต์ webClient = webClient ใหม่ {encoding = system.ext.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 ("ขาย") == -1) {ถ้า (ตัวจับเวลา! = null) timer.stop (); // ส่งข้อความ 5 ข้อความสำหรับ (int i = 0; i <5; i ++) {// ส่ง smSmessage.send ("152 **** 7178", "SMS_92310001", ใหม่ {name = "Emrys", สถานะ = "แสดงความยินดีแสดงความยินดี Thread.sleep (5 * 1000); -