日期:2012-08-06  浏览次数:20415 次

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 的应用。