1. Mengapa halaman web digunakan untuk pemantauan waktu nyata?
LZ baru -baru ini membeli sebuah rumah di Wuxi. Meskipun dia bekerja di Shanghai, harga perumahan di Shanghai terlalu tinggi dan tak tertahankan, jadi dia memilih Wuxi, yang dapat diterima, sebagai tempat untuk menetap. Teman -teman yang telah membeli rumah mungkin tahu proses membeli rumah. Salah satu langkah yang sangat penting dalam membeli rumah adalah membutuhkan pengarsipan perumahan komersial. Sederhananya, ketika Anda membeli rumah, Anda dapat memeriksa status pendaftaran rumah Anda di situs web pengarsipan perumahan komersial pemerintah. Jika pengembang sudah terdaftar dan masih menjual rumah ini, itu harus menjadi penjualan satu kamar. Dan poin yang sangat penting adalah bahwa hanya dengan mempersiapkan kasus ini, kita dapat melanjutkan ke pinjaman bank berikutnya. Karena bunga bank semakin tinggi, semakin awal pendaftaran, semakin baik pinjamannya, semakin baik. Oleh karena itu, sangat penting untuk mengetahui status pengarsipan pembelian rumah Anda secepat mungkin.
Tentu saja, Anda juga dapat memeriksa status pengarsipan Anda di situs web setiap hari. Jelas, ini bukan seperti programmer, juga bukan seperti programmer .NET. Pendekatan programmer adalah dengan jujur memberi tahu program ke ponsel setelah pendaftaran selesai. Ngomong -ngomong, saya ingin mengeluh bahwa situs web untuk pengajuan sangat lambat.
2. Pilih Layanan Windows, Formulir (WinForm), Program Web atau Konsol?
Tentu saja, yang paling cocok adalah layanan Windows, WinForm, dan Web pasti baik -baik saja. Program konsol belum tentu yang paling cocok, tetapi pengembangan jelas merupakan yang tercepat. Setelah pertimbangan komprehensif, itu adalah proyek pemantauan yang sangat kecil dan hanya butuh satu atau dua bulan, atau satu atau dua hari, jadi itu tidak begitu rumit. Selain itu, layanan Windows harus diinstal di server. Yang paling penting adalah bahwa konsol adalah yang tercepat untuk dikembangkan dan yang paling mudah digunakan, jadi saya akhirnya memilih program konsol.
3. Menganalisis persyaratan
1. Situasi pendaftaran perlu diperiksa setiap beberapa menit, jadi System.timers.timer diperlukan. Tentu saja, jika itu adalah proyek yang sangat kuat atau lengkap, disarankan untuk menggunakan quartz.net. Tentu saja, Anda dapat memilih Topshelf, Hangfire, Fluentscheduler, dll.
2. Karena Anda perlu memeriksa status pendaftaran Situs Web, dapatkan HTML dari halaman web pendaftaran, dan kemudian tentukan apakah HTML berisi kata "dijual". Jika tidak, itu berarti bahwa pendaftaran telah diajukan. System.net.webClient diperlukan. Ada lebih banyak situs web pencarian di bawah .net. Yang paling mendasar adalah httpwebRequest, httpclient, atau restsharp, yang semuanya merupakan pilihan yang baik.
3. Karena pemberitahuan waktu nyata diperlukan, pemberitahuan SMS Alibaba Cloud dipilih. Karena proyek lain digunakan, kami dapat secara langsung menyalin kode untuk menggunakannya. Tentu saja, ada juga banyak pemberitahuan, seperti email, aplikasi, dll. Tentu saja kita tidak perlu rumit.
4. Modul Kode
Kode langsung, logika, dan kode sederhana.
program kelas {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 (pengirim objek, System.timers.elapsedEventArgs e) {WebClient Client = WebClient baru {encoding = 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") + "..." + "tidak ditandatangani."); if (html.indexof ("untuk dijual") == -1) {if (timer! = null) timer.stop (); // Kirim 5 pesan teks untuk (int i = 0; i <5; i ++) {// kirim smsmessage.send ("152 **** 7178", "sms_92310001", baru {name = "emrys", status = "ucapan selamat, selamat, rumah telah ditandatangani untuk dijual!"}); Thread.sleep (5 * 1000); }}}}