資源描述:
《應(yīng)用程序設(shè)置 Application Setting》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、1應(yīng)用程序設(shè)置總攬http://msdn.microsoft.com/en-us/library/0zszyc6e(v=vs.100).aspx該主題討論如何創(chuàng)建和保存應(yīng)用程序和用戶的Setting數(shù)據(jù).窗體的應(yīng)用程序設(shè)置特性使得創(chuàng)建,儲(chǔ)存和維護(hù)自定義應(yīng)用程序和在客戶機(jī)上的用戶優(yōu)先選項(xiàng)變得非常容易.在Windows窗體的應(yīng)用程序設(shè)置中,你不僅可以儲(chǔ)存應(yīng)用程序數(shù)據(jù)如鏈接字符串,而且也可以儲(chǔ)存用戶數(shù)據(jù),如用戶優(yōu)先選項(xiàng).使用VisualStudio或自定義托管代碼,你能夠創(chuàng)建新的設(shè)置,讀寫它們,綁定到你表單的屬性上,并在加載和保存之前驗(yàn)證.應(yīng)用程序設(shè)置使得開發(fā)人員能在程
2、序中用很少的代碼來保存狀態(tài),并且替換早期的.NET框架(2.0)中的動(dòng)態(tài)屬性類.應(yīng)用程序設(shè)置比起動(dòng)態(tài)屬性包含了更多的改進(jìn),動(dòng)態(tài)屬性是只讀,后期綁定及要求更多編程.動(dòng)態(tài)屬性類被保留,但是僅僅是對(duì)應(yīng)用程序設(shè)置類的一個(gè)包裝。1.1應(yīng)用程序設(shè)置是什么?你的WinodwsForms應(yīng)用程序經(jīng)常要求關(guān)鍵的數(shù)據(jù)來運(yùn)行程序,但是你不想直接寫在代碼中。如果你的應(yīng)用程序使用一個(gè)Web服務(wù)或數(shù)據(jù)庫(kù)服務(wù)器,你可能想用存儲(chǔ)這些信息到一個(gè)獨(dú)立的文件中,方便你在將來修改而不需要重新編譯代碼。類是地,你的程序可能要為當(dāng)前用戶保存特定的信息。大多數(shù)程序,有用戶自定義選項(xiàng)如界面和行為。應(yīng)用程序設(shè)置滿
3、足了2者通過一個(gè)簡(jiǎn)單的方法在客戶機(jī)上保存應(yīng)用程序設(shè)置和用戶設(shè)置。使用VisualStudio或者代碼編輯器,你可以通過為給定的屬性指定一個(gè)名稱、范圍及數(shù)據(jù)類型來定義一個(gè)setting。你可以把相關(guān)的設(shè)置組織在一個(gè)組中方便使用和閱讀。一旦定義成功,這些熟悉被持久化并在程序運(yùn)行時(shí)自動(dòng)讀到內(nèi)存中。一個(gè)可插拔的架構(gòu)使得持久化可以被修改,但是默認(rèn),使用本地文件系統(tǒng)。應(yīng)用程序設(shè)置根據(jù)是否應(yīng)用程序范圍或用戶范圍來持久化數(shù)據(jù)為不同的XML文件來工作。大多數(shù)情形,應(yīng)用程序設(shè)置是只讀的;因?yàn)樗鼈兪浅绦蛐畔ⅲǔ2恍枰貙?。相反,用戶范圍的設(shè)置在運(yùn)行時(shí)進(jìn)行讀寫,即使程序運(yùn)行在部分信任的
4、系統(tǒng)上。更多關(guān)于部分信任,請(qǐng)看SecurityinWindowsFormsOverview.設(shè)置在配置文件中被存儲(chǔ)為XML片斷。應(yīng)用程序設(shè)置通過元素來表示,通常放在app.exe.config中,app就是你的可執(zhí)行文件的名稱。用戶范圍的設(shè)置用來表示,通常放在user.config文件中,這里的user就是當(dāng)前運(yùn)行該程序的用戶名。你必須和你的程序一起發(fā)布app.exe.config文件;設(shè)置架構(gòu)將在第一次運(yùn)行時(shí)在后臺(tái)創(chuàng)建user.config來保存用戶的設(shè)置。你也可以在app.exe.conf
5、ig文件中定義塊來提供用戶范圍設(shè)置的默認(rèn)值。自定義控件通過實(shí)現(xiàn)IPersistComponentSettings接口來保存自己的設(shè)置,該接口暴露了SaveSettings方法。窗口的ToolStrip控件實(shí)現(xiàn)了這個(gè)接口來保存工具條的位置。更多的自定義控件和設(shè)置,請(qǐng)看自定義控件的程序設(shè)置。1.2應(yīng)用程序設(shè)置的限制你不能在未托管的程序中使用應(yīng)用程序設(shè)置。在VisualStudio插件,OfficeC++,IE控件或Outlook插件中不能使用設(shè)置。目前不能綁定WindowsForms中的一些屬性。最明顯的例子是ClientSize屬性,綁定
6、到這個(gè)屬性將引起未預(yù)期行為。對(duì)于加密信息沒有內(nèi)建的能力。你不應(yīng)該已明文的方式儲(chǔ)存安全相關(guān)的信息,如數(shù)據(jù)庫(kù)密碼。如果你想要儲(chǔ)存這些敏感信息,你應(yīng)該加密它。如果你想要保存連接字符串,建議你使用Windows集成安全并不要重新硬編碼到URL。更多信息,看安全訪問代碼和ADO.NET。1.3開始使用應(yīng)用程序設(shè)置如果你使用VisualStudio,你可以通過窗口設(shè)計(jì)器內(nèi)的屬性窗口使用ApplicationSettings屬性來定義設(shè)置。當(dāng)你使用這種方式定義時(shí),VisualStudio會(huì)自動(dòng)產(chǎn)生一個(gè)自定義托管包裝類與一個(gè)類中的每一項(xiàng)屬性向關(guān)聯(lián)。VisualStudio會(huì)小心地
7、綁定設(shè)置到一個(gè)form或控件的屬性,所以控件的設(shè)置被自動(dòng)恢復(fù)當(dāng)它的Form顯示時(shí),并且當(dāng)Form關(guān)閉時(shí)自動(dòng)保存。更多細(xì)節(jié),看如何使用設(shè)計(jì)器創(chuàng)建設(shè)置。如果你想要更加詳細(xì)地控制你的設(shè)置,你可以定義你自己的應(yīng)用程序設(shè)置包裝類。可以通過從ApplicationSettingsBase派生一個(gè)類,添加為每一個(gè)setting添加相應(yīng)的屬性,并應(yīng)用特殊的屬性(Attributes)到這些屬性上(Properties)。更多細(xì)節(jié),看應(yīng)用程序設(shè)置框架。你也可以使用Binding類來綁定設(shè)置到forms或控件的屬性上。更多信息,請(qǐng)看如何使用設(shè)計(jì)器創(chuàng)建設(shè)置。2應(yīng)用程序設(shè)置應(yīng)用程序設(shè)置允
8、許你為你的