2018年10月17日.NET笔试面试题

Session有什么重大 BUG,用什么方法加以解决?

  • IIS中由于有进程回收机制,系统繁忙的话会导致Session会丢失,IIS 重启也会造成Session丢失。
  • 这并不是Bug,而是In-Proc方式存储Session的缺陷,缺陷是和 Bug 不一样的,In-Proc 方式存储Session会由服务器来决定什么时候释放Session
  • 可以用 StateServer 或 SQL Server 数据库的方式存储Session,不过这种方式效率比较低,而且无法捕获 Session的 END 事件。

ASP.NET中的错误机制

  • 页面中未捕获的异常会触发Page_Error
  • 应用程序中的未捕获异常会触发Application_Error
  • 可以通过HttpContext.Current.Server.GetLastError(),HttpContext.Current.Error,拿到未捕捉异常,记录到Log4Net日志中,也可以定制错误页来将显示一个友好的报错页面。

你可能感兴趣的:(2018年10月17日.NET笔试面试题)