首页 > 编程 > .NET > 正文

几个.net的重要问题

2024-07-10 13:05:09
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 最近一段时间在用 c# 和 asp.net,在受训和使用中偶尔有一些心得。
    我觉得有时候问题比答案本身要重要,所以列了些问题,
    这些问题主要是关于基本概念的,或者是初学者一上手就要碰到的。
    至少我为其中一些问题困惑过。
    关于答案我就并不是都知道了,更要命的是现在自己疑问越来越多,答案出现的越来越慢.....


    1. page class 实现了哪个重要的 interface?   

    a: ihttphandler
       偶以为了解 .net class, interface 特重要的说......


    2. foo.aspx 编译后的 class 名字是什么?      

    a: foo_aspx
       扩展问题:如何动态地,用程序(programmatically)引用一个 user control?
       有什么要注意的?
       别告诉我 msdn beta 1 里有。你编译一下就知道它在胡说。

    3. shadow-copy dll 存在哪里?                

    a:
    考虑一下,如果没有一种机制(现在我们管它叫 shadow-copy),
    我们能否删除/改变正在被使用的 dll?
    比如在 vb6+iis+asp+mts 环境中,多少次需要 restart iis service or reboot...

    4. 谈谈 autoeventwireup                      

    a:
       有谁发现自己写的某些事件被执行了两遍?  ;)

    5. 关于 directive 中的 inherits:一个 aspx 可能 inherits 多个 class 吗?
       多个 page 可能 inherits 一个 code behind 吗?        

    a:
       c# 中不能多重继承。
       但多个不同 aspx 肯定能 share 一个 code behind ---- 哪怕 page 里的 server control 不一样。

    6. @assembly 和 csc /r 和 vs.net 项目中 reference 的关系是什么?  
    a:
       需要同时使用 ide 和手工编译的人最清楚了。;-(

    7. web control 和 html control 在 performance 上有区别吗?        
    a:
       文档上总说 beta1 拒绝 performance 测试  ;-)

    8. 对 asp.net 的请求是由哪个 isapi extension 处理分发的?         
    a:
       xspisapi.dll   在 iis mmc 中改
       如果有自己写的继承 ihttphandler 的东东,知道这些就有用了。

    9. 这个 isapi extension 实际上把请求 forword 到哪个 process?      
    a:
       xspwp.exe

    10 如果使用外部进程维护 session,这个进程是什么?                 
    a:
       aspstate.exe
       在 config.web 里面修改设置,可以把 session 放在其它机器上,甚至 sql 里。
       这样就可以直接支持 web farm 了。
       但 session 变量如果是 object,就会有个 serialize 的过程,很耗资源。
       如何让你的 object 更好地支持 serializable interface 是个比较大的话题,
       实在敲不动的说。

    11 如何自己做个 httphandler? 能想出它有什么实际用处吗?          
    a:
       实现 ihttphandler 做出自己的 handler 很简单,但很有用,比如当用户请求一些
       特殊文件时,比如 *.log,你可以在 config.web 中设置定向到你自己的 handler 上,
       让它做处理。


    12 谈谈 httpmodule                                               
    a:
       问题 11 的延伸

    13 如何在 vs.net 中 debug asp.net 应用?                          
    a:
       attach process

    14 如果你通过继承 system.web.ui.control 写了个 custom control,
       如何加上对 client-side script 的支持?                          
    a:
       没什么可说的。

    15 在 aspx 页面中放上一些 textbox, listbox 等等 web control,
       但在 code-behind 中并不定义它们,是否可能使用这些 control?     
    a:
       能。通过 page.controls, or form.controls, or container.controls whatever...
       这样你可以做出完全不同的 web ui,share 一个共同的 code behind,
       做出真正 generic 的应用。   



     
    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表