.NET面试精选:用户控件、ASPX页面、HttpHandler与HttpModule

需积分: 0 1 下载量 159 浏览量 更新于2024-09-19 收藏 30KB DOCX 举报
"这篇资料是针对.NET面试的一组选择题,涵盖了用户控件与ASPX页面的区别、页面指令的使用、第三方控件与用户控件的对比、HTTP处理流程中的HttpHandler与HttpModule以及ASP.NET中的HttpHandler特性和配置选项。" 在.NET面试中,了解用户控件和ASPX页面的差异是非常重要的。用户控件(User Control)不包含HTML、BODY、FORM等标记,而ASPX页面可以包含这些标记。用户控件不能直接触发服务器端事件,它们主要用于外观重用,而ASPX页面则可以处理服务器端事件。用户控件继承自System.Web.UI.UserControl,而ASPX页面继承自System.Web.UI.Page。用户控件可以嵌套其他用户控件,但必须在ASPX页面中才能被访问,而ASPX页面可以直接访问其他用户控件。要在ASPX页面中使用用户控件,需要在页面指令中使用`<%@Register%>`。 在ASP.NET开发中,第三方控件通常是已编译的DLL文件,可以在多个应用程序中引用使用,而用户控件是页面文件,是非编译代码,仅限于当前应用程序。用户控件灵活性较高,可以在多个位置复用,但不会出现在工具箱中,而第三方控件可能在工具箱中显示。执行效率方面,一般情况下,编译后的第三方控件可能具有更高的性能。 HTTP处理流程中,一个HTTP请求会经历多个HttpModule和一个HttpHandler。HttpModule用于处理请求的预处理工作,如身份验证、日志记录等,而HttpHandler是请求的最终处理者,负责生成响应内容。HttpHandler的IsReusable属性如果为false,表示该处理器不是可重用的,不一定只能使用一次。 ASP.NET中的HttpHandler通常是处理特定扩展名(如ashx)的文件,它是HTTP请求的终点,并且必须实现IHttpHandler接口。关于Web.config配置,可以设置连接字符串、身份验证方式(如SQL Server身份验证、Windows身份验证和Forms身份验证,但不包括Passport)、错误页面定向等。然而,网站导航通常不直接在Web.config中配置。 在某个目录的web.config中,拒绝匿名用户的代码示例为`<deny user="?"/>`,这意味着不允许未登录的用户访问该目录。这样的配置有助于实施更精细的权限控制,确保只有经过身份验证的用户才能访问特定资源。