2010-11-05 39 views
3

這可能是一個很奇怪的問題,在你們這裏​​的一些人眼裏,但我真的不知道在我的代碼中的評論是否會減慢我製作的頁面的執行時間。 我有一些Classes/WebControl需要大量的註釋,以使所有的事情都清晰明瞭,並且能夠快速讀取到其他人處理我的代碼,現在想知道ASP.Net如何處理我的意見。在編譯時將評論從我的代碼中刪除,或者這是如何完成的?評論會減慢我網頁的執行時間嗎?

我應該更具體:我的意思是在C#中的代碼隱藏。

+3

評論在C#代碼或JavaScript代碼或HTML? – 2010-11-05 08:32:30

回答

3

C#中的註釋服務器除了編譯時略有增加外不會做任何事情。

當然javascript中的評論增加下載量。但是由於您通常會在生產系統上將javascript縮小,因此會刪除註釋和空白,因此在實踐中無關緊要。

由於動態生成頁面上的html縮小並不常見,因此html中的註釋會減慢一點,但它們通常很少,以至於在實踐中也無關緊要。

+0

只是好奇..服務器端的評論如何導致「編譯時間略有增加」? – 2010-11-05 09:40:21

+0

C#編譯器需要解析它們,這需要很少的時間。但除非意見數量過多,否則增加幅度不會很明顯。 – CodesInChaos 2010-11-05 10:53:43

1

關於aspx頁面的評論(如javascript等)正在減慢頁面速度,因爲它是需要下載的內容。對於JavaScript,您可以使用最小化程序,並在生產系統上具有最小化的JavaScript版本。

對於c#代碼...它沒有什麼不同,因爲註釋沒有編譯到程序集中。

0

編號只有當您的HTML數量過高(<!--)時纔會有例外,因爲這需要額外的時間通過互聯網傳輸HTML。所有C#註釋在編譯時都會被分割。

0

如果註釋位於.aspx頁面,則取決於它們是HTML註釋還是服務器端註釋。正如Pieter指出的那樣,HTML(!<--)評論具有影響,因爲它們通過網絡傳輸。

一般來說,發送到瀏覽器的內容越多,加載頁面的時間就越長。 (這也會增加服務器的負擔 - 增加帶寬使用率,並且很可能是CPU負載的小幅增加,因爲服務器必須更努力地發送更多數據。)

這就是爲什麼ASP.NET支持服務器端註釋。如果您使用!<%-- ... --%>語法,則註釋的內容將不會發送到客戶端。要確切知道實際正在傳輸的內容的最佳方式是在瀏覽器中查看源代碼,以查看發生了什麼。

斯科特·格思裏張貼有關這位早在2006年:http://weblogs.asp.net/scottgu/archive/2006/07/09/Tip_2F00_Trick_3A00_-Using-Server-Side-Comments-with-ASP.NET-2.0-.aspx

相關問題