推薦:解析.Net框架下的XML編程技術(shù) XML是微軟。Net戰(zhàn)略的一個(gè)重要組成部分,而且它可謂是XML Web服務(wù)的基石,所以掌握。Net框架下的XML技術(shù)自然顯得非常重要了。本文將指導(dǎo)大家如何運(yùn)用C#語(yǔ)言完成。Net框架下的XML文檔的讀寫(xiě)
象 ASP、ASP.NET 等諸多基于 Web 的應(yīng)用程序的安裝與部署一直是個(gè)麻煩事情,一般都是手工復(fù)制、手工修改相關(guān)配置文件(主要是數(shù)據(jù)庫(kù)配置),和 Windows 上 Installer 或 Linux 上的 RPM 相比,這種方式顯然一點(diǎn)技術(shù)含量都沒(méi)有。
對(duì)于胖客戶端應(yīng)用,從很早開(kāi)始就一直都有較為完善的安裝程序制作工具了,如 InstallShield、InstallAnywhere、Wise Installer、SWIFT Installer 等等,其中一部分已經(jīng)實(shí)現(xiàn)了跨平臺(tái),可以運(yùn)行在 Windows、Linxu、Java 等平臺(tái)上。
從 Visual Studio 6.0 開(kāi)始,Microsoft 提供了單獨(dú)的 Setup Tools ,可以用來(lái)制作簡(jiǎn)易的安裝程序,后來(lái),這個(gè)工具被集成到 VS.NET 2002/2003 中,并且功能做了一些增強(qiáng),可以制作自定義的對(duì)話框等。其優(yōu)點(diǎn)是能很好的和 VS.NET 的項(xiàng)目進(jìn)行集成,這樣在整個(gè)解決方案(Solution)在 Build 的時(shí)候,就可以生成安裝包,這樣便于實(shí)現(xiàn)每日構(gòu)建(Daily Build),同時(shí)其缺點(diǎn)仍然存在,不能對(duì)安裝過(guò)程進(jìn)行更多地控制,提供的對(duì)話框功能和類型有限,很少看到有人利用這些對(duì)話框?qū)崿F(xiàn)對(duì)系統(tǒng)的一些較為復(fù)雜的配置,如絕大多數(shù)應(yīng)用程序中都會(huì)涉及的數(shù)據(jù)庫(kù)創(chuàng)建、初始數(shù)據(jù)的生成等工作。
有很多不錯(cuò)的安裝工具中,在安裝的過(guò)程中就可以對(duì)實(shí)現(xiàn)對(duì)系統(tǒng)進(jìn)行一些配置,但安裝結(jié)束后,如果配置發(fā)生改變,例如數(shù)據(jù)庫(kù)遷移等,又變成一件令人頭疼的事情,如果對(duì)系統(tǒng)了解較多,知道配置數(shù)據(jù)的存放位置,就可以手動(dòng)修改,如果不了解怎么辦?難道要先卸載,再重新安裝來(lái)完成新配置?
在很多不錯(cuò)的胖客戶應(yīng)用中,配置界面是和安裝界面獨(dú)立的,這樣便于在安裝系統(tǒng)后,靈活地調(diào)整其配置,那么就把它拿到 ASP.NET 的安裝程序中吧。
1) 建立解決方案 Solution。
2) 建立 Web 應(yīng)用 。
3) 新增一個(gè) WinForms 應(yīng)用 AppConfig,增加一個(gè) WinForm ,完成初始化系統(tǒng)環(huán)境,修改系統(tǒng)配置的功能(如生成數(shù)據(jù)庫(kù)、生成初始數(shù)據(jù)、修改 Web.Config 中的數(shù)據(jù)庫(kù)連接參數(shù),Machine.Config 或自定義配置文件)等功能,生成 AppConfig.exe 。
4) 新增一安裝項(xiàng)目 Setup,除了將 Web 應(yīng)用的的“主輸出”和“內(nèi)容輸出”加入到項(xiàng)目中,還要將 AppConfig 的“主輸出”加入到此項(xiàng)目中。
5) 在 Setup 項(xiàng)目中的“自定義操作中”的“安裝”節(jié),增加一自定義操作,使其運(yùn)行來(lái)自于 AppConfig 的“主輸出” AppConfig.exe。
這樣 ASP.NET 的安裝程序在運(yùn)行的最后階段,會(huì)運(yùn)行 AppConfig 的 WinForm 程序,來(lái)完成相關(guān)的配置,如數(shù)據(jù)庫(kù)等。如果以后配置發(fā)生改變,可以直接運(yùn)行 AppConfig.exe 來(lái)更改配置。
值得一提的是,由于 AppConfig 是 WinForms 應(yīng)用,相對(duì)于 Installer 的對(duì)話框而言,有很大的發(fā)揮余地,例如我經(jīng)常在項(xiàng)目中加入 SQL Server 管理對(duì)象 Interop.SQLDMO.dll 的引用,這樣可以在輸入/選擇 SQL Server 的列表框中實(shí)現(xiàn)自動(dòng)列出可用的 SQL Server 名稱列表,看起來(lái)很專業(yè)的樣子。
分享:建立個(gè)人知識(shí)引擎的重要性 從企業(yè)信息化到個(gè)人信息化,是未來(lái)軟件發(fā)展的一個(gè)趨勢(shì)。個(gè)人信息化已經(jīng)從郵件、SNS、多媒體、博客、Wiki等,過(guò)渡到更理性的“個(gè)人知識(shí)庫(kù)管理”和各種應(yīng)用軟件的集成服務(wù)。我想,
新聞熱點(diǎn)
疑難解答
圖片精選