保存.NET應(yīng)用程序設(shè)置
發(fā)表時(shí)間:2024-02-08 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在你開始部署.NET應(yīng)用程序以前,你必須確定自己所在的機(jī)構(gòu)該如何管理公共的應(yīng)用程序設(shè)置。為了提升代碼的重用性以及應(yīng)用程序的互操作性,你所有的應(yīng)用程序,Web、Windows、Web服務(wù)、Windows服務(wù)等等都應(yīng)該采用應(yīng)用程序配置文件作為集中管理應(yīng)用程序信息的通用方法! ∠到y(tǒng)配置和應(yīng)用程序配置 ...
在你開始部署.NET應(yīng)用程序以前,你必須確定自己所在的機(jī)構(gòu)該如何管理公共的應(yīng)用程序設(shè)置。為了提升代碼的重用性以及應(yīng)用程序的互操作性,你所有的應(yīng)用程序,Web、Windows、Web服務(wù)、Windows服務(wù)等等都應(yīng)該采用應(yīng)用程序配置文件作為集中管理應(yīng)用程序信息的通用方法。
系統(tǒng)配置和應(yīng)用程序配置
在.NET的公共語(yǔ)言運(yùn)行時(shí)(CLR)執(zhí)行你的應(yīng)用程序時(shí),它會(huì)用到一系列的XML配置文件來(lái)設(shè)置程序執(zhí)行環(huán)境的基本屬性。例如,假如你正在執(zhí)行一個(gè)Web應(yīng)用程序,那么CLR就會(huì)查詢Web.config文件確定相應(yīng)的認(rèn)證模式(表單、Windows或沒(méi)有)、授權(quán)用戶、會(huì)話狀態(tài)設(shè)置(InProc、StateServer或SQL)以及其他關(guān)鍵設(shè)置等。
同樣的,Machine.config系統(tǒng)文件為Web服務(wù)器整體提供了ASP.NET配置設(shè)置而且成為了在ASP.NET應(yīng)用程序中用到的Web.config文件的基本設(shè)置。Security.config和EnterpriseSec.config則給Windows應(yīng)用程序定義了系統(tǒng)范圍內(nèi)的安全和代碼許可權(quán)限設(shè)置。
這種缺省設(shè)置行為實(shí)在是恰倒好處,前提則是你所有的應(yīng)用程序都需要在同一執(zhí)行環(huán)境中運(yùn)行。然而,如果你在逐個(gè)應(yīng)用程序的基礎(chǔ)上進(jìn)行特殊配置,那么你得根據(jù)自己應(yīng)用程序的特殊性在CLR能識(shí)別的專門文件上保存這類信息。
保存應(yīng)用程序配置信息
與特定.NET應(yīng)用程序有關(guān)的信息應(yīng)該保存在應(yīng)用程序可執(zhí)行文件所在目錄下的一個(gè).config 文件中。應(yīng)用程序的完整文件名應(yīng)該作為配置文件前綴名,格式如下:
applicationname.exe.config
你可以通過(guò)編程的方式,使用SYSTEM.CONFIGURATION名稱空間從XML .config文件中獲取應(yīng)用程序設(shè)置信息。以下是一個(gè)示范應(yīng)用程序配置文件,你可以用它保存應(yīng)用程序的連接字符串信息:
<configuration>
<appSettings>
<add key="ConnectionString" value="Provider=SQLOLEDB.1;..."/>
</appSettings>
</configuration>
在外部文件中保存應(yīng)用程序配置信息可以讓你無(wú)須重新編譯應(yīng)用程序即可更新應(yīng)用程序的某些屬性。例如,假定你開發(fā)了一個(gè)應(yīng)用程序訪問(wèn)SQL Server上的數(shù)據(jù)庫(kù),你決定在應(yīng)用程序中直接編寫連接信息代碼,F(xiàn)在你想把數(shù)據(jù)庫(kù)遷移到另一個(gè)不同的服務(wù)器。因?yàn)檫B接信息在應(yīng)用程序中是設(shè)死的,所以你必須修改、重新編譯和重新部署這個(gè)應(yīng)用程序以完成相應(yīng)的修改。但是,如果你采用了.config文件保存設(shè)置的方式,那么應(yīng)用程序的變化就只是修改 .config文件中的ConnectionString鍵而已。
統(tǒng)一規(guī)則
為了有效地利用.config文件,你應(yīng)當(dāng)創(chuàng)建標(biāo)準(zhǔn)的鍵名和值定義供所有的應(yīng)用程序開發(fā)人員所用。這樣就可以讓同一項(xiàng)目的開發(fā)人員采用公共的項(xiàng)目設(shè)置。這些標(biāo)準(zhǔn)在部署應(yīng)用程序和將其轉(zhuǎn)化為產(chǎn)品的時(shí)候非常有用。假如你對(duì).config設(shè)置進(jìn)行了標(biāo)準(zhǔn)化,那么你運(yùn)做的開發(fā)組在需要解決公共應(yīng)用程序配置設(shè)置問(wèn)題的時(shí)候就能知道首先該從哪里獲取信息。