HiPortfolio Email notify Service when Privilege User Access #3
สวัสดีครับ คราวนี้มาว่ากันต่อในส่วนของ การ Coding ใน ส่วนของ C# นะครับ
สร้าง Project ขึ้นมา เป็น Type Windows Service ครับ
แล้วให้ท่าน Click ที่ Object ในส่วนที่ เป็น Service1.cs ที่ หน้าต่าง Project Explorer
จะได้ หน้าต่าง สีเทา มา
ทำการ Drag Object EventLog และ FileSysemWatcher มาวางไว้ บน หน้าต่างสีเทา
ที่ Project Explorer ทำการ Add new Item ในส่วน Application Configuration file เข้ามา
ใน Code เราจะมี ส่วนหลักๆ ที่ต้องทำคือ
1. Add Library ที่เกี่ยวข้องเข้ามาใน code โดยประกาศ ที่ using
2. ตอน Initial Service ให้ Service ทำการ อ่าน Configuration จาก file config เข้ามา ให้กำหนด ใน Constructure (ต่อจาก Initialize())
ซึ่งใน Config file จะมีการระบุ ตำแหน่ง ที่ จะ monitor เอาไว้ว่า log ออกมา ที่ Folder ใด
3. ให้ Code เพิ่มในส่วน Event ของ fileSystemWatcher1_Changed
ทำการ ดักว่า ไฟล์ ที่ออกมามีการ เปลี่ยนแปลง ให้ทำการ อ่าน log แล้วแปลง String
4. นำ String ที่ได้จาก ข้อ 2 มา Gen เป็น file และ แปะลงใน mail พร้อมทั้ง Attachment file
ส่ง email ไปยัง เจ้าหน้าที่ ตาม email ใน config file ครับ
หลักๆ มีเท่านี้
สิ่งที่ต้องทำเพิ่ม สำหรับ Project ประเภท Windows Service คือ การ Install
จะเห็น ว่าที่หน้าจอ Service1.cs หาก Click ขวา จะมี menu Add Installer
ให้เลือก Add Installer แล้วจะได้ Installer เข้ามาใน Project
ทำการ Config เกี่ยวกับ Installer เช่น ชื่อ ตัว Installer ให้สัมพันธ์ กับชื่อ Service
บนตัว Installer Class จะมี Object อยู่ 2 ตัวคือ
-serviceProcessInstaller และ ServiceInstaller
ให้เลือก ที่ serviceInstaller แล้วทำการ Configค่า
ที่ต้องการให้แสดง ในหน้าต่าง Windows Service ที่
- Description
- DisplayName
- Start Type
ทำการ Add Project เพิ่มเข้ามาที่ Solution
เลือกเป็น Setup Project
ที่ Project Setup ทำการ Click ขวา เลือก Add Project outputทำการเลือก Project Output ดังนี้
- Primary Output
- Localized resources
- Content Files
ที่ Setup Project ทำการ Add Customer Action
โดยทำการเลือก Primary Output ลงไปที่ แต่ละ Action ทุก Actionได้ ผลลัพธ์ ดังนี้
จากนั้น ทำการ Build Project โดยการ เลือกที่ menu > Build >Batch Build
ทำการ Tick บน Checkbox เพื่อเลือก ทั้งหมด แล้วกดปุ่ม Build
หลังจาก Build แล้ว เราสามารถ Click ขวามี่ Setup Project เลือก Install หรือ Uninstall ได้
เพื่อทำการ ทดสอบติดตั้ง และ Start Service เพื่อ Test ได้
เท่านี้ก็สามารถ สร้าง Service ขึ้นมาแล้วครับ
ส่วนในรายละเอียดของ Code ทั้งหมด ผมจะ ทำการ Upload ให้อีกครั้ง
สร้าง Project ขึ้นมา เป็น Type Windows Service ครับ
แล้วให้ท่าน Click ที่ Object ในส่วนที่ เป็น Service1.cs ที่ หน้าต่าง Project Explorer
จะได้ หน้าต่าง สีเทา มา
ทำการ Drag Object EventLog และ FileSysemWatcher มาวางไว้ บน หน้าต่างสีเทา
ที่ Project Explorer ทำการ Add new Item ในส่วน Application Configuration file เข้ามา
ทำการ ใส่ Configuration ที่จะให้ Service ทำงาน
เสร็จแล้ว มาดูในส่วน การ Coding กันนะครับ โดย Click ขวาที่ว่าง แล้ว เลือก View Code
เสร็จแล้ว มาดูในส่วน การ Coding กันนะครับ โดย Click ขวาที่ว่าง แล้ว เลือก View Code
ใน Code เราจะมี ส่วนหลักๆ ที่ต้องทำคือ
1. Add Library ที่เกี่ยวข้องเข้ามาใน code โดยประกาศ ที่ using
2. ตอน Initial Service ให้ Service ทำการ อ่าน Configuration จาก file config เข้ามา ให้กำหนด ใน Constructure (ต่อจาก Initialize())
ซึ่งใน Config file จะมีการระบุ ตำแหน่ง ที่ จะ monitor เอาไว้ว่า log ออกมา ที่ Folder ใด
3. ให้ Code เพิ่มในส่วน Event ของ fileSystemWatcher1_Changed
ทำการ ดักว่า ไฟล์ ที่ออกมามีการ เปลี่ยนแปลง ให้ทำการ อ่าน log แล้วแปลง String
4. นำ String ที่ได้จาก ข้อ 2 มา Gen เป็น file และ แปะลงใน mail พร้อมทั้ง Attachment file
ส่ง email ไปยัง เจ้าหน้าที่ ตาม email ใน config file ครับ
หลักๆ มีเท่านี้
สิ่งที่ต้องทำเพิ่ม สำหรับ Project ประเภท Windows Service คือ การ Install
จะเห็น ว่าที่หน้าจอ Service1.cs หาก Click ขวา จะมี menu Add Installer
ให้เลือก Add Installer แล้วจะได้ Installer เข้ามาใน Project
ทำการ Config เกี่ยวกับ Installer เช่น ชื่อ ตัว Installer ให้สัมพันธ์ กับชื่อ Service
บนตัว Installer Class จะมี Object อยู่ 2 ตัวคือ
-serviceProcessInstaller และ ServiceInstaller
ให้เลือก ที่ serviceInstaller แล้วทำการ Configค่า
ที่ต้องการให้แสดง ในหน้าต่าง Windows Service ที่
- Description
- DisplayName
- Start Type
ทำการ Add Project เพิ่มเข้ามาที่ Solution
เลือกเป็น Setup Project
ที่ Project Setup ทำการ Click ขวา เลือก Add Project outputทำการเลือก Project Output ดังนี้
- Primary Output
- Localized resources
- Content Files
ที่ Setup Project ทำการ Add Customer Action
โดยทำการเลือก Primary Output ลงไปที่ แต่ละ Action ทุก Actionได้ ผลลัพธ์ ดังนี้
จากนั้น ทำการ Build Project โดยการ เลือกที่ menu > Build >Batch Build
ทำการ Tick บน Checkbox เพื่อเลือก ทั้งหมด แล้วกดปุ่ม Build
หลังจาก Build แล้ว เราสามารถ Click ขวามี่ Setup Project เลือก Install หรือ Uninstall ได้
เพื่อทำการ ทดสอบติดตั้ง และ Start Service เพื่อ Test ได้
เท่านี้ก็สามารถ สร้าง Service ขึ้นมาแล้วครับ
ส่วนในรายละเอียดของ Code ทั้งหมด ผมจะ ทำการ Upload ให้อีกครั้ง
ความคิดเห็น
แสดงความคิดเห็น