Asp.net 重构会话变量

Asp.net 重构会话变量,asp.net,session,refactoring,session-variables,Asp.net,Session,Refactoring,Session Variables,我正在访问一个已经使用了2年多的应用程序,它急需重构。这是我自己的工作,但您知道当您再次访问旧代码时会是什么样子 无论如何,我一直在使用重构,代码看起来已经好多了 现在的问题是,代码中散布着大量的会话[“variable”],那么,最常见的重构方法是什么呢?我发现了这一点,但显然这是非常危险的。像这样重构随机会话使用的最佳方法是创建一个静态的会话包装器,其中包含封装ASP.NET会话存储的静态属性: static class SessionWrapper { public static

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

无论如何,我一直在使用重构,代码看起来已经好多了


现在的问题是,代码中散布着大量的会话[“variable”],那么,最常见的重构方法是什么呢?我发现了这一点,但显然这是非常危险的。

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

static class SessionWrapper
{
    public static string Variable
    {
        get { return Session["variable"]; }
        set { Session["variable"] = value; }
    }
}
这还允许您在获取和设置这些值的过程中使用一些逻辑,并将它们保存在一个集中的位置


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

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

static class SessionWrapper
{
    public static string Variable
    {
        get { return Session["variable"]; }
        set { Session["variable"] = value; }
    }
}
这还允许您在获取和设置这些值的过程中使用一些逻辑,并将它们保存在一个集中的位置


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

如果您正在测试“多个用户”,则警告代码是危险的通过在IE中打开多个选项卡。这不是真正的多用户场景的工作方式,每个不同的访问者都有自己的会话。因此,您是否同意这篇文章适合我尝试实现的目标?如果您正在测试“多个用户”,则警告代码是危险的通过在IE中打开几个选项卡。这不是真正的多用户场景的工作方式,每一个不同的访问者都有自己的会话。那么你同意这篇文章适合我想要达到的目的吗?这种方法的另一个优点是,到处都不需要类型检查。这种方法的另一个优点是,到处都不需要类型检查。