【问题标题】:Refactoring session variables重构会话变量
【发布时间】:2010-12-20 23:10:33
【问题描述】:

我正在访问一个使用了 2 年多的应用程序,它迫切需要重构。这是我自己的工作,但是当你再次访问旧代码时,你知道它是什么样的。

无论如何,我一直在使用excellent advice at sourcemaking 进行重构,并且代码已经看起来好多了。

现在的问题是在整个代码中散布了大量的 Session["variable"],那么重构这些最被接受的方法是什么?我找到了this article at code project,但显然它可能非常危险。

【问题讨论】:

  • 代码危险的警告表明,如果您通过在 IE 中打开多个选项卡来测试“多个用户”。这不是真正的多用户场景的工作方式,每个不同的访问者都有自己的会话。
  • 那么你同意这篇文章适合我想要达到的目标吗?

标签: asp.net session refactoring session-variables


【解决方案1】:

像这样重构随机会话使用的最佳方法是创建一个静态SessionWrapper,其中包含封装 ASP.NET 会话存储的静态属性:

static class SessionWrapper
{
    public static string Variable
    {
        get { return Session["variable"]; }
        set { Session["variable"] = value; }
    }
}

这也将允许您围绕这些值的获取和设置设置一些逻辑,并将它们保存在一个集中的位置。

我还强烈建议您在开始此过程之前进行一些集成测试,以确保您没有遗漏任何东西。

【讨论】:

  • 这种方法的另一个优点是不需要在任何地方进行类型检查。
猜你喜欢
  • 2014-03-18
  • 2013-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-15
  • 2018-01-21
相关资源
最近更新 更多