asp.net是一次编译多次执行,请详细解释,我理解不动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net是一次编译多次执行,请详细解释,我理解不动相关的知识,希望对你有一定的参考价值。

当一个浏览器第一次请求一个ASPX文件时,WEB FORM页面将被CLR(common language runtime)编译器编译。此后,当再有用户访问此页面的时候,由于ASPX页面已经被编译过,所以,CLR会直接执行编译过的代码。这和ASP的情况完全不同。,,,不懂,它是在服务器端被CLR解释啊,还是客户端CLR啊?还是我第一次打开过这个页面,再打开时就直接执行CLR编译过的代码?????不懂,请教!

当一个浏览器第一次请求一个ASPX文件时,WEB FORM页面将被CLR(common language runtime)编译器编译。此后,当再有用户访问此页面的时候,由于ASPX页面已经被编译过,所以,CLR会直接执行编译过的代码

re:意思是说当你的ASPX文件第一次执行的时候会被编译,如果以后再访问此页面的时候,如果这个ASPX文件没有被修改过,就不会被编译,直接执行CLR编译后的代码(所以当你的ASPX编写后第一次执行会很慢,因为在编译代码,以后再访问就会很快,因为执行的是编译后的代码)

不懂,它是在服务器端被CLR解释啊,还是客户端CLR
Re:他们都是在服务器端执行的,和客户端没有任何瓜葛。
参考技术A ASP运行机制就像鲜榨果汁,每次买的时候都要等在那里,等卖果汁的给你把水果榨成果汁,你才能喝,
ASPX运行机制就是,先把什么水果都榨成果汁,你想喝的时候就直拿榨好果汁卖给你.

所以,
你(Client)不用榨果汁;
你只需要喝果汁,你看不见水果(没有被编译之前的代码);
ASP:
每次请求一次页面就要编译一次,(每喝一次果汁,就要现榨一次水果)
ASPX:
首次请求需要编译,再次请求不用编译(你要喝果汁的时候,就把水果全给你榨成汁,放在那,再想喝的时候直接拿果汁,不用等他现榨,但榨果汁的时间比ASP要长,因为他不止给你榨一个水果.)

解释是一句一句的翻译

解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。

这样解释性语言每执行一次就要翻译一次,效率比较低。

解释是一句一句的翻译。

 

 1 package Com.Table;
 2 
 3 
 4 class Person { 
 5     public static void prt(String s) { 
 6        System.out.println(s); 
 7     } 
 8    
 9     Person() { 
10        prt("父类·无参数构造方法: "+"A Person."); 
11     }//构造方法(1) 
12     
13     Person(String name) { 
14        prt("父类·含一个参数的构造方法: "+"A person‘s name is " + name); 
15     }//构造方法(2) 
16 } 
17     
18 public class TwentyOneTable extends Person { 
19     TwentyOneTable() { 
20        super(); // 调用父类构造方法(1) 
21        prt("子类·调用父类”无参数构造方法“: "+"A chinese coder."); 
22     } 
23     
24     TwentyOneTable(String name) { 
25        super(name);// 调用父类具有相同形参的构造方法(2) 
26        prt("子类·调用父类”含一个参数的构造方法“: "+"his name is " + name); 
27     } 
28     
29     TwentyOneTable(String name, int age) { 
30        this(name);// 调用具有相同形参的构造方法(3) 
31        prt("子类:调用子类具有相同形参的构造方法:his age is " + age); 
32     } 
33     
34     public static void main(String[] args) { 
35         TwentyOneTable tw = new TwentyOneTable(); 
36        tw = new TwentyOneTable("borter"); 
37        System.out.println(tw);
38        tw = new TwentyOneTable("borter", 18); 
39        System.out.println(tw);
40     } 
41 }

 

以上是关于asp.net是一次编译多次执行,请详细解释,我理解不动的主要内容,如果未能解决你的问题,请参考以下文章

解释型语言与编译型语言

用C#编写的asp.net 和 vb.net编写的asp.net 有性能上的差异吗?

详细介绍ASP.NET页面间数据传递的使用方法

ASP.NET入门教程(经典)

ASP.NET入门教程(经典)

.net 技术都有哪些主流框架应用?