บางครั้งเวลาเราพัฒนา Application ขึ้นมา เราอยากเก็บค่า Config บางอย่าง เช่น username ครั้งสุดท้ายที่ใช้ Log , ชื่อ Database ที่ใช้งานประจำ หรือเป็นขนาดความกว้าง ยาวของหน้าจอครั้งล่าสุด โดยอาจเราจะเก็บไว้ Text File, Registry หรือเก็บใน Project Setting ที่ทาง .NET Framework ได้เตรียมไว้ให้ โดยวันนี้ผมขอแนะนำการเก็บค่า Config ต่างๆลงใน Project Setting กันครับ
Table of Contents
เก็บค่า Config ผ่าน Project Setting
คลิกขวาที่ Project File เลือก properties >> เลือกที่ส่วน Setting จากนั้นกำหนดข้อมูล
- Name : ชื่อ Setting
- Type : Data type ของ Setting โดย User สามารถกำหนดได้ว่าจะเก็บข้อมูลเป็น String, int หรือ boolean เป็นต้น
- Scope : ขอบเขตของ Setting นี้ว่าเป็นแบบ Application(ทีผลกับทุก user บนเครื่อง) หรือ เป็นแบบ User(แยก Config ตาม user ที่ใช้งาน)
- Roaming: กำหนดรูปแบบ Config
- ถ้า set เป็น True คือ สามารถเก็บ Config ไปใช้งานบนคอมพิวเตอร์เครื่องใดๆก็ได้บนเครือข่าย ที่มีการ Set Active Directory และกำหนด Roaming User Profiles ไว้ ยกตัวอย่างเช่น ถ้า Application ของเราทำงานบนเครื่อง Computer A โดย User Adminping ซึ่งอยู่ใน Active Directory เมื่อ Adminping ไปใช้งานเครื่อง Computer ฺฺฺB ค่า Config ที่เราเคยตั้งไว้จะถูกดึงขึ้นมาพร้อมใช้งานทันที
- ถ้า set เป็น False คือ ใช้งาน Standalone เก็บค่า Config เฉพาะเครื่องที่ลง Application ของเราเท่านั้น

การกำหนด Config สามารถทำได้ โดยสามารถเรียกใช้ผ่านคำสั่ง ดังนี้
Properties.Settings.Default.ชื่อ Config
ตัวอย่างการใช้งาน
กำหนดค่า
Properties.Settings.Default.LastConfigName = "AYF-SITE Config";
หากต้องการบันทึกค่า Config นั้นเราสามารถใช้ Method Save ตามตัวอย่าง ดัง Code ต่อไปนี้
Properties.Settings.Default.LastConfigID = 23; Properties.Settings.Default.LastConfigName = "AYF-SITE Config"; Properties.Settings.Default.Save();
หากต้องการเรียกใช้ Config นั้น เราสามารถทำได้ โดยใช้ Code ต่อไปนี้
txtConfigID.Text = Properties.Settings.Default.LastConfigID.toString(); txtConfigName.Text =Properties.Settings.Default.LastConfigName.toString();
หากต้องการ Clear ค่า Config เราสามารถใช้ Method Reset(); ได้
ถ้าอยากรู้ว่า Config ที่เรานั้นสร้างขึ้นมา ถูกจัดเก็บไว้ที่ไหน ให้ลองไปดูใน AppConfig พบ Section เพิ่มขึ้นมา ดังตัวอย่างนี้
<userSettings> <InvConfig.Properties.Settings> <setting name="LastConfigID" serializeAs="String"> <value>0</value> </setting> <setting name="LastConfigName" serializeAs="String"> <value /> </setting> </InvConfig.Properties.Settings> </userSettings>
และถ้าอยากรู้อีกว่าค่าที่เราแก้ไป เก็บอยู่ที่ไหนในคอมพิวเตอร์ของเราในกรณี
- non-roaming user settings ให้ไปดูที
%USERPROFILE%\Local Settings\Application Data\<Company Name>\<appdomainname>_<eid>_<hash>\<verison>\user.config
- roaming user settings ให้ไปดูที่
%USERPROFILE%\Application Data\<Company Name>\<appdomainname>_<eid>_<hash>\<verison>\user.config
หมายเหตุ: วิธีการนี้ใช้งานได้กับระบบปฏิบัติการตั้งแต่ Windows Vista เป็นต้นไปนะ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.