aspnet網站的編譯
A. VS 中如何把編譯好的ASP.NET網站 反編譯啊
如果是通過普通發布的話,
在aspx頁面page指令中有一個屬性inherits 他就是說他相對應的cs文件,生成了DLL的名字,不過都是隨機命名的。找到後可以用.NET Reflector 反編譯下,
如果是用WebDeploymentSetup插件發布的話, 就只有一個程序集了,那更好辦了
B. asp.net編譯模型
asp.net在1.x版本時,採用組件為主的編譯方式,每個網頁生成一個組件,允許自由定義命名空間,部署應用更便捷。然而,在大量代碼的網站中,這種編譯方式會導致載入速度變慢,佔用存儲器大量空間,且當時存儲器價格較高。
因此,從asp.net 2.0起,引入了預先編譯模型,每個網頁分別編譯成組件,文件名以App_和隨機字元串命名。這樣,無需載入過多代碼至內存中,提升了效率。然而,預先編譯模型無法自定義命名空間,且在更新時需同步更新所有DLL文件及網頁,否則會導致名稱不一致,影響載入。
早期,僅提供預先編譯模式,其不足迅速顯現。為此,微軟為asp.net 2.0開發了沿用1.x編譯模型的工具:Web Application Project。從Visual Studio 2008開始內置,至此,asp.net支持兩種編譯模式的架構,提供更靈活的選擇。
(2)aspnet網站的編譯擴展閱讀
ASP 是一項微軟公司的技術,是一種使嵌入網頁中的腳本可由網際網路伺服器執行的伺服器端腳本技術。 指 Active Server Pages(動態伺服器頁面) ,運行於 IIS 之中的程序 。
C. asp.net編譯的問題
要不要編譯要看你改動是什麼類型的文件了,
如果你改了已.aspx為後綴里的文件一般是不需要編譯的
(切忌<%=%>,<%#Eval("")%>像這樣的文件最好不要改動),
如果你改了已.cs為後綴里的文件是一定需要編譯的,因為改動.cs文件就會在Bin文件夾里生成新的里.DLL的文件(和改動前的是有區別的),如果不編譯將無法正常訪問。
1,編譯後可以防止別人看到源碼,
2,也可以加快程序執行的速率
D. 在VS2005 環境下asp.net如何完全編譯即編譯後bin文件夾里有所有文件的compiled文件和dll文件。
很簡單。你在用vs2005發布網站的時候是不是會有一個選項是默認打上勾的(就是這個:是否允許更新此預編譯站點),把勾去掉,然後再確定發布。
這樣子的好處是安全,無法遠程修改。
E. ASP.NET中出現 這是預編譯工具生成的標記文件,不應被刪除!
asp.net網站的運行機制,當有網站上的任何一個aspx、ascx文件被修改,就會導致整個網站的重新編譯,如果網站的頁面數量很多,而且編譯的時候正好趕上有大量的用戶訪問,那個這個更新是很致命的。
asp.net 2.0提供了一個新的機制,叫做部署預編譯(Precompilation deployment),其實說白了,就是把asp.net網站編譯好了,再發布出去,比如app_code和resource什麼的,都會被預編譯成dll文件,既然已經被編譯好了,當然就不涉及到第一次訪問比較慢的過程了。
這個部署預編譯功能,還有一個比較強大的地方,就是在知識產權保護方面,為什麼這樣說呢,因為他會把所有的aspx、ascx和cs文件,都編譯到dll文件裡面,也就是說用戶就算進去了伺服器,有許可權在本地瀏覽網站目錄,也是看不到源代碼的。所有的網頁文件中,只有一句話,「這是預編譯工具生成的標記文件,不應被刪除!」。