ASP.NET面试常见问题与解答

需积分: 25 1 下载量 90 浏览量 更新于2024-09-03 收藏 53KB DOC 举报
"ASP.NET面试题及其相关知识点" 在ASP.NET面试中,常见的一些问题涉及到页面间数据传递、身份验证方式、Code-Behind技术、Web页面与隐藏类的关系以及调用WebService的方法等。以下是这些知识点的详细说明: 1. 页面间传递值: - URL传值:通过URL附加查询字符串传递,方便但数据量小且不安全。 - Session传值:将数据存储在服务器内存,易于使用但占用资源,可能导致数据丢失(如IIS进程回收)。 - Application传值:全站共享,适用于全局变量,同样消耗服务器内存。 - Cookie传值:数据存储在客户端,易于操作但安全性较低。 - ViewState:用于单页数据保留,但不能跨页传递。 - MVC中,ViewData和TempData用于视图间短暂传递,TempData尤其适合跨动作的数据传递。 2. ASP.NET身份验证方式: - Windows(默认):基于Windows域身份验证。 - IIS:IIS服务器自身的身份验证。 - Forms:用户通过登录表单提交凭证,适用于Web应用。 - Passport:微软的集中式身份验证服务,但现在已被Live ID取代。 3. Code-Behind技术: 这是一种将HTML设计与后台代码分离的编程模式,使得界面设计和业务逻辑可以独立开发和维护。代码-behind文件与ASP.NET页面相关联,编译后成为页面类的实现部分。 4. Web页面与隐藏类的关系: 每个ASP.NET页面在运行时都有一个对应的隐藏类,这个类在编译时与页面中的控件代码合并。页面上的<% %>和<%= %>代码会编译成另一个独立的类,该类继承自页面类,实现了页面的动态行为。 5. 调用WebService的方法: - VS.NET的“添加Web引用”:生成代理类,简化调用。 - XMLHttp对象:在非.NET环境下,通过HTTP请求直接通信,灵活性高。 6. Session的问题与解决方案: - 由于IIS进程回收和服务器文件更改,Session可能会丢失。微软建议使用StateServer或SQL Server存储Session,但这样可能会慢且无法监听Session结束事件。 7. ASP.NET相对于ASP的进步: - ASP.NET采用编译模型,提高了性能,源码更安全。 - 代码与页面分离,增强了可维护性。 - 提供了丰富的控件和强大的框架支持。 8. 页面间参数传递方法及优缺点: - Session和ViewState简单易用,但可能丢失,且Session占用服务器资源。 - Application全局可用,但同样消耗资源且不安全。 - Cookie简单,但可能被篡改,且受客户端限制。 - hidden字段简单,但可能被篡改。 - URL参数直接可见,长度有限,但易于使用。 - 数据库存储稳定安全,但涉及数据库操作,效率相对较低。 了解并掌握这些知识点对于准备ASP.NET面试至关重要,无论是对于求职者还是希望提升技能的开发者,都有极大的帮助。