转贴:你知道Page继承了多少接口吗?

大宇_ 2009-02-23 02:23:23
你知道Page继承了多少接口吗?
这个问题是我一个朋友去面试的时候被问到的,说实在的,开发了很多页面程序,对于 Page 已经不再陌生,可是你能说得出来吗?而且要解释一下,这些接口的功能是做什么的。

IHttpHandler ,此接口的作用为: 定义 ASP.NET 为使用自定义 HTTP 处理程序同步处理 HTTP Web 请求而实现的协定。

INamingContainer ,此接口的作用为: 标识在 Page 对象的控件层次结构内创建新 ID 命名空间的容器控件。这仅是一个标记接口。

IComponent, 此接口作用:提供所有组件所需的功能,它用作公共语言运行库中所有组件的基类。

IDisposable, 此接口作用:定义一种释放分配的非托管资源的方法。

IP***rAccessor, 此接口作用:定义 ASP.NET 服务器控件必须实现以识别何时分析元素( HTML 或 XML )的方法。

IDataBindingsAccessor, 此接口作用:允许在设计时访问控件的数据绑定表达式集合。

以上是 Page 继承的接口及作用,下面我谈一些自己的看法。
1) 由于 WebControl 没有实现接口 IHttpHandle ,所以你不能请求 .ascx 结束的文件,那也就是说如果你想 拥 有特殊的处理模块,那这个模块就必须要实现 IHttpHandle 接口,其实看一下 machine.config 文件,就可以看到有 httpHandle 这个节点,所以你的那个模块也要相应的添加到 httpHandle 节点下面才会有效果出现。

2) 剩余的接口没有太多的体会,工作中用到的比较少,就交给大家去琢磨吧!
最后,我想说的是,有些东西不要只会使用,使用的同时要揪其原因,如果你一直保持这样的心态,累积下来,你对于相同问题的看法就会有新的看法。

这是转载的一遍文章,虽然不怎么样,但确实是提到了关键的地方,.NET框架给我们提供了太多的帮助,作为程序员,我相信喜欢上.NET的原因其实不仅仅是它足够好,效率高(个人认为执行效率要比JAVA高,可以批我,但不准骂人),可能哈,也许,是我们太懒惰,中国人也许就有这样的劣根,太满足于现状,当然,对于一般企业级的应用,对程序执行效率什么的要求不是很高,更重要的是要求开发效率(没办法,现在硬件好了^o^。这样下去,慢慢的就失去了那种钻研精神。但对于要求高效率的WEB开发,可不能这样搞了,其实一般的页面实现可以直接实现IHttpHandler ,或者加上IDisposable接口,足以满足服务端和客户端的交互(加上现在流行的AJAX方式),用这样的方式测试一下,相信结构会另你大吃一惊,速度那是数以倍计的提高。特别是对于热衷于AJAX技术的朋友,那就更没的必要使用原有的ASPX页面。采用这样的方式提高效率,将会是一个很好的选择,顺便说一下,其实这也是X3BLOG所有服务器与客户端交互全部采用这样的方式实现的原因,我们希望做一个优秀的产品奉贤给大家。希望我们共同学习,共同进步。
...全文
144 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zftow110 2009-02-23
  • 打赏
  • 举报
回复
很有意思的问题
sh_suyuelin 2009-02-23
  • 打赏
  • 举报
回复
第二点比较欣赏哈
RHCL 2009-02-23
  • 打赏
  • 举报
回复
mark~
vrhero 2009-02-23
  • 打赏
  • 举报
回复
你转载的这篇文章太老了...从.NET 2.0起又增加了IFilterResolutionService,IUrlResolutionService,IControlBuilderAccessor,IControlDesignerAccessor,IExpressionsAccessor五个接口...

其中IFilterResolutionService接口继承自TemplateControl,其他的都继承自Control...这篇文章也没有说清楚哪些接口是继承的,Page自有的接口只有IHttpHandler...
沅江汐水 2009-02-23
  • 打赏
  • 举报
回复
楼上正解,,F12一路跟踪下去
msdn上面有解释
北京的雾霾天 2009-02-23
  • 打赏
  • 举报
回复
招.net程序员是使用.net的,不是研究.net的,何必呢,又不是招老师。
starter2009 2009-02-23
  • 打赏
  • 举报
回复
很简单 按下F12

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧