บางครั้งเวลาเราพัฒนา Application ขึ้นมา เราอยากเก็บค่า Config บางอย่าง เช่น username ครั้งสุดท้ายที่ใช้ Log , ชื่อ Database ที่ใช้งานประจำ หรือเป็นขนาดความกว้าง ยาวของหน้าจอครั้งล่าสุด โดยอาจเราจะเก็บไว้ Text File, Registry หรือเก็บใน Project Setting ที่ทาง .Net Framework ได้เตรียมไว้ให้ โดยวันนี้ผมขอแนะนำการเก็บค่า 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
ตัวอย่าง เช่น
[c language="#"]
Properties.Settings.Default.LastConfigName = "AYF-SITE Config";
[/c]
หากต้องการบันทึกค่า Config นั้นเราสามารถใช้ Method Save ตามตัวอย่าง ดัง Code ต่อไปนี้
[c language="#"]
Properties.Settings.Default.LastConfigID = 23;
Properties.Settings.Default.LastConfigName = "AYF-SITE Config";
Properties.Settings.Default.Save();
[/c]
หากต้องการเรียกใช้ Config นั้น เราสามารถทำได้ โดยใช้ Code ต่อไปนี้
[c language="#"]
txtConfigID.Text = Properties.Settings.Default.LastConfigID.toString();
txtConfigName.Text =Properties.Settings.Default.LastConfigName.toString();
[/c]
หากต้องการ Clear ค่า Config เราสามารถใช้ Method Reset(); ได้
ถ้าอยากรู้ว่า Config ที่เรานั้นสร้างขึ้นมา ถูกจัดเก็บไว้ที่ไหน ให้ลองไปดูใน AppConfig พบ Section เพิ่มขึ้นมา ดังตัวอย่างนี้
[xml]
<userSettings>
<InvConfig.Properties.Settings>
<setting name="LastConfigID" serializeAs="String">
<value>0</value>
</setting>
<setting name="LastConfigName" serializeAs="String">
<value />
</setting>
</InvConfig.Properties.Settings>
</userSettings>
[/xml]
และถ้าอยากรู้อีกว่าค่าที่เราแก้ไป เก็บอยู่ที่ไหนในคอมพิวเตอร์ของเราในกรณี
- 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.