none
关于ASP.NET编译的问题 RRS feed

  • 问题

  • 大家好,关于ASP.NET的编译,我想问的是,当有N个用户访问网站的时候,哪些类是会生成N个实例,哪些类还是只会生成一个实例?尤其是APPCODE文件夹里面的东西,是不是只要放在APPCODE里面的类,都是会生成N个实例的呢?那放在APPCODE里面的静态类呢?关于这种问题有没有好的文章或者资料,请大家推荐一下。

    第二个问题,APPCODE和Session里面的东西有什么区别吗?

    2012年2月2日 2:09

答案

  • 因为Web自身就是多用户访问的,因此不能说在App_Code中类都是生成N个实体的。如果App_Code中静态类只生成一个实体;相反,每一个WebForm就是一个类,每一个用户访问一次生成一个实体。

    总而言之,应该和普通OOP编程思想一样——普通类大都生成N个实体,静态类生成一个单独实体,视情况而定。

    第二问:APP_Code中存放的是往往不带Namespace的公共访问类,可以在任意页面中直接使用类名实例化后访问其方法;Session是每一个用户产生一个实体,存放个人信息。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2012年2月2日 5:58
  • 谢谢您的回复,我大都能明白您说的,但是最后一点,如果我把用户实体存放到APPCODE中的类会怎样呢?
    你是三层架构还是什么类型的?如果是三层的话一般放到Model层,而不是放到App_Code中。 你若坚持放到App_Code中,那么请:右键点击文件夹下的类,选择“属性”,然后将“生成活动“的值改为”编译“,即Compile。
       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2012年2月2日 7:54

全部回复

  • 因为Web自身就是多用户访问的,因此不能说在App_Code中类都是生成N个实体的。如果App_Code中静态类只生成一个实体;相反,每一个WebForm就是一个类,每一个用户访问一次生成一个实体。

    总而言之,应该和普通OOP编程思想一样——普通类大都生成N个实体,静态类生成一个单独实体,视情况而定。

    第二问:APP_Code中存放的是往往不带Namespace的公共访问类,可以在任意页面中直接使用类名实例化后访问其方法;Session是每一个用户产生一个实体,存放个人信息。


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2012年2月2日 5:58
  • 谢谢您的回复,我大都能明白您说的,但是最后一点,如果我把用户实体存放到APPCODE中的类会怎样呢?
    2012年2月2日 7:50
  • 谢谢您的回复,我大都能明白您说的,但是最后一点,如果我把用户实体存放到APPCODE中的类会怎样呢?
    你是三层架构还是什么类型的?如果是三层的话一般放到Model层,而不是放到App_Code中。 你若坚持放到App_Code中,那么请:右键点击文件夹下的类,选择“属性”,然后将“生成活动“的值改为”编译“,即Compile。
       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处
    2012年2月2日 7:54
  • 是三层,也就是说都能起到一样的效果是吧?那我明白了,谢谢指点哈。
    2012年2月2日 8:11