积极答复者
关于ASP.NET编译的问题

问题
-
大家好,关于ASP.NET的编译,我想问的是,当有N个用户访问网站的时候,哪些类是会生成N个实例,哪些类还是只会生成一个实例?尤其是APPCODE文件夹里面的东西,是不是只要放在APPCODE里面的类,都是会生成N个实例的呢?那放在APPCODE里面的静态类呢?关于这种问题有没有好的文章或者资料,请大家推荐一下。
第二个问题,APPCODE和Session里面的东西有什么区别吗?
- 已编辑 xupengnannan 2012年2月2日 2:15
答案
-
因为Web自身就是多用户访问的,因此不能说在App_Code中类都是生成N个实体的。如果App_Code中静态类只生成一个实体;相反,每一个WebForm就是一个类,每一个用户访问一次生成一个实体。
总而言之,应该和普通OOP编程思想一样——普通类大都生成N个实体,静态类生成一个单独实体,视情况而定。
第二问:APP_Code中存放的是往往不带Namespace的公共访问类,可以在任意页面中直接使用类名实例化后访问其方法;Session是每一个用户产生一个实体,存放个人信息。
QQ我:
下载MSDN桌面工具(Vista,Win7)
我的博客园
慈善点击,点击此处- 已标记为答案 BU XI - MSFTModerator 2012年2月8日 1:53
-
谢谢您的回复,我大都能明白您说的,但是最后一点,如果我把用户实体存放到APPCODE中的类会怎样呢?
你是三层架构还是什么类型的?如果是三层的话一般放到Model层,而不是放到App_Code中。 你若坚持放到App_Code中,那么请:右键点击文件夹下的类,选择“属性”,然后将“生成活动“的值改为”编译“,即Compile。
QQ我:
下载MSDN桌面工具(Vista,Win7)
我的博客园
慈善点击,点击此处- 已编辑 ThankfulHeart 2012年2月2日 7:55
- 已标记为答案 BU XI - MSFTModerator 2012年2月8日 1:53
全部回复
-
因为Web自身就是多用户访问的,因此不能说在App_Code中类都是生成N个实体的。如果App_Code中静态类只生成一个实体;相反,每一个WebForm就是一个类,每一个用户访问一次生成一个实体。
总而言之,应该和普通OOP编程思想一样——普通类大都生成N个实体,静态类生成一个单独实体,视情况而定。
第二问:APP_Code中存放的是往往不带Namespace的公共访问类,可以在任意页面中直接使用类名实例化后访问其方法;Session是每一个用户产生一个实体,存放个人信息。
QQ我:
下载MSDN桌面工具(Vista,Win7)
我的博客园
慈善点击,点击此处- 已标记为答案 BU XI - MSFTModerator 2012年2月8日 1:53
-
谢谢您的回复,我大都能明白您说的,但是最后一点,如果我把用户实体存放到APPCODE中的类会怎样呢?
你是三层架构还是什么类型的?如果是三层的话一般放到Model层,而不是放到App_Code中。 你若坚持放到App_Code中,那么请:右键点击文件夹下的类,选择“属性”,然后将“生成活动“的值改为”编译“,即Compile。
QQ我:
下载MSDN桌面工具(Vista,Win7)
我的博客园
慈善点击,点击此处- 已编辑 ThankfulHeart 2012年2月2日 7:55
- 已标记为答案 BU XI - MSFTModerator 2012年2月8日 1:53