在用 Visual Web Developer 建立解決方案后,可在解決方案中添加工程項(xiàng)目和網(wǎng)站項(xiàng)目,而工程中有一項(xiàng)叫“Web 應(yīng)用程序項(xiàng)目”,它和網(wǎng)站項(xiàng)目有什么區(qū)別呢?
其實(shí)他們的區(qū)別很多,方案、文件結(jié)構(gòu)、編譯、部署等多個(gè)方面。但我覺(jué)得有一點(diǎn)差異很明顯。
嗯,看起來(lái) Web 應(yīng)用程序似乎沒(méi)有什么優(yōu)勢(shì),錯(cuò)了。
Web 應(yīng)用程序可以很好地進(jìn)行大型開(kāi)發(fā)及團(tuán)隊(duì)合作。如果有一個(gè)文件有問(wèn)題,想暫時(shí)排除在工程之外,用網(wǎng)站項(xiàng)目的話,得刪除該文件或?qū)⑵鋽U(kuò)展名改個(gè)名(比如 .exclude);但 Web 應(yīng)用程序則不需要,因?yàn)?Web 應(yīng)用程序有兩個(gè)文件(.sln、.suo)控制哪些文件進(jìn)行編譯,哪些文件不編譯,不編譯的文件,可以輕松點(diǎn)一下鼠標(biāo)就進(jìn)行排除了。
同時(shí),由于 Web 應(yīng)用程序?qū)⒋a文件編譯成一個(gè) dll,非常方便進(jìn)行版本控制。在部署時(shí)也比較方便。當(dāng)然要注意,dll 文件被不能防止源代碼外泄,同 Java 一樣,ASP.NET 也是編譯的中間語(yǔ)言,所以很容易被 Reflector 這類工具還原成源代碼,一般用 Dotfuscator 這類工具將源代碼進(jìn)行混淆,使拿到后的源代碼混亂,讓人根本沒(méi)心情去理什么邏輯關(guān)系,一定程度上達(dá)到保密要求。
Web 應(yīng)用程序事先就將代碼編譯好了,所以在更新網(wǎng)站后,Web 應(yīng)用程序很快就能進(jìn)行狀態(tài)工作;網(wǎng)站項(xiàng)目則需要等那么幾秒鐘,等全部編譯好了后,才會(huì)可訪問(wèn)。
更詳細(xì)的比較
請(qǐng)參見(jiàn) http://msdn.microsoft.com/zh-cn/library/dd547590.aspx。
聯(lián)系客服