NET移植案例學(xué)習(xí):建造Web網(wǎng)站(1)
發(fā)表時(shí)間:2024-06-21 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]本文要求你熟悉Visual Studio 6.0,ASP和IIS 難度:2 摘要:當(dāng)收集客戶對(duì)Visual Studio .NET beta版反饋的網(wǎng)站需要升級(jí)的時(shí)候,Visual Studio開(kāi)發(fā)小組發(fā)現(xiàn)這是一個(gè)使用.NET技術(shù)來(lái)開(kāi)發(fā)一個(gè)真正的網(wǎng)站的好機(jī)會(huì)。本文描述了移植beta.visua...
本文要求你熟悉Visual Studio 6.0,ASP和IIS
難度:2
摘要:當(dāng)收集客戶對(duì)Visual Studio .NET beta版反饋的網(wǎng)站需要升級(jí)的時(shí)候,Visual Studio開(kāi)發(fā)小組發(fā)現(xiàn)這是一個(gè)使用.NET技術(shù)來(lái)開(kāi)發(fā)一個(gè)真正的網(wǎng)站的好機(jī)會(huì)。本文描述了移植beta.visualstudio.net站點(diǎn)的過(guò)程,說(shuō)明了如何使用ASP .NET和.NET框架將原來(lái)用Visual Basic 6.0和ASP開(kāi)發(fā)的,發(fā)布在Microsoft Internet Information Services (IIS) 5.0上的組件移植到.NET平臺(tái)下。還將介紹技術(shù)的選擇和檢查有效性、安全、認(rèn)證等問(wèn)題,并對(duì)現(xiàn)存的和新的用JScript 及ASP .NET開(kāi)發(fā)的用作移植的組件作必要的解釋。
Visual Studio開(kāi)發(fā)小組設(shè)計(jì)了從測(cè)試站點(diǎn)得到用戶反饋的機(jī)制,這是Visual Studio .NET beta版的一個(gè)部分。為此開(kāi)發(fā)組在開(kāi)發(fā)環(huán)境中增加了一個(gè)LAME按鈕,它能幫助用戶提交對(duì)這個(gè)產(chǎn)品的任何意見(jiàn),包括對(duì)錯(cuò)誤信息描述和菜單設(shè)計(jì)的意見(jiàn)等(參見(jiàn)圖1)。開(kāi)發(fā)小組還設(shè)計(jì)了跟蹤用戶如何使用產(chǎn)品的機(jī)制。產(chǎn)生的日志文件能幫助開(kāi)發(fā)組進(jìn)一步確定用戶的需求。開(kāi)發(fā)組用http://beta.visualstudio.net這個(gè)站點(diǎn)來(lái)收集這些信息和用戶發(fā)現(xiàn)的漏洞,并向用戶發(fā)布升級(jí)信息。
圖1 LAME按鈕
這個(gè)Web站點(diǎn)的以前使用基于Microsoft Internet Information Services(IIS)5.0的Visual Basic? 6.0和ASP開(kāi)發(fā)的。隨著.NET產(chǎn)品的不斷成熟,開(kāi)發(fā)組希望通過(guò)在一個(gè)真實(shí)的開(kāi)發(fā)環(huán)境中使用他們以獲得第一手的體驗(yàn),所以決定將這個(gè)站點(diǎn)移植到Visual Studio .NET和Microsoft .NET框架下。
通過(guò)自己的親身體驗(yàn),開(kāi)發(fā)組對(duì)產(chǎn)品有了進(jìn)一步的認(rèn)識(shí),為其他開(kāi)發(fā)者充分利用.NET平臺(tái)和Visual Studio .NET提供了很好的范例,還了解了哪些開(kāi)發(fā)技術(shù)在Visual Studio .NET中仍然可以使用。
在這篇文章中,我將介紹將這個(gè)Web站點(diǎn)移植到.NET平臺(tái)時(shí)使用的一些技術(shù),得到的教訓(xùn),并提供一些技巧來(lái)幫助你將應(yīng)用程序移植到.NET平臺(tái)。
原先的站點(diǎn)設(shè)計(jì)
這個(gè)跟蹤站點(diǎn)由三個(gè)獨(dú)立的Web站點(diǎn)組成。普通用戶可以通過(guò)公眾站點(diǎn)登陸、報(bào)告產(chǎn)品漏洞、上傳日志文件、查看升級(jí)信息和已知的問(wèn)題。Microsoft的員工可以通過(guò)內(nèi)部網(wǎng)訪問(wèn)鏡像站點(diǎn)無(wú)須通過(guò)公司的防火墻。Beta版的程序管理員可以通過(guò)管理站點(diǎn)得到測(cè)試網(wǎng)站的清單,管理站點(diǎn)的內(nèi)容,配置站點(diǎn)其它的信息。
這個(gè)Web站點(diǎn)原先是用Visual Basic 6.0,ASP, Windows 2000和SQL Server? 7.0建立起來(lái)的。那時(shí)候,Visual Studio .NET和.NET框架是作為技術(shù)預(yù)覽被發(fā)布的,用它來(lái)建造這個(gè)站的模塊還顯得不成熟。因此,我們用了Visual Studio和Windows2000的技術(shù)來(lái)建造這個(gè)站點(diǎn)的。
這個(gè)站點(diǎn)的體系結(jié)構(gòu)符合Windows DNA 2000應(yīng)用程序設(shè)計(jì)模型。我們用Active Server Pages 3.0開(kāi)發(fā)了客戶端的UI,并發(fā)布在IIS5.0上。這個(gè)程序的邏輯和數(shù)據(jù)訪問(wèn)代碼在一個(gè)用Visual Basic 6.0寫出的ActiveX DLL中,并注冊(cè)到了COM+中。Visual Basic使用ActiveX Data Objects (ADO)來(lái)訪問(wèn)SQL Server 7.0數(shù)據(jù)庫(kù)。圖2 說(shuō)明了這個(gè)站點(diǎn)基本的體系結(jié)構(gòu)。
圖2 測(cè)試站點(diǎn)的體系結(jié)構(gòu)
當(dāng)開(kāi)發(fā)組考慮如何將這個(gè)站點(diǎn)移植到Visual Studio .NET Beta 1的時(shí)候,他們決定只修改外部的客戶站點(diǎn)(我將在下部分解釋為什么這么做)而不修改管理站點(diǎn)。升級(jí)外部站點(diǎn)能實(shí)現(xiàn)他們獲得第一手資料的愿望,并為客戶提供了一個(gè)如何在.NET下開(kāi)發(fā)軟件的范例。