ASP.NET会话变量命名约定

时间:2012-05-08 11:55:27

标签: c# asp.net session naming-conventions

在ASP.NET中是否存在命名会话变量的约定?

我想到的选项:

Session["myValue"] = "value";
Session["MyValue"] = "value";
Session["my_value"] = "value";
Session["MY_VALUE"] = "value";

5 个答案:

答案 0 :(得分:3)

IMO,重要的是应用DRY原则:

public class SessionVariables
{
    public const string MyStoredSessionVariable = "MyStoredSessionVariable";
    ...
}

然后:

Session[SessionVariables.MyStoredSessionVariable] = ...

我认为你使用的字符串文字并不重要,只要它足够独特并且你以一致的方式完成,就像其他人提到的那样。

答案 1 :(得分:3)

没有任何正式的命名约定,但您可以考虑使用枚举,以便您没有任何字符串文字,1)使您更容易记住您的密钥的名称和2)使其无法拥有运行时错误,因为您的密钥名称不能输入错误。

e.g。

public enum SessionKey
{
   FirstName,
   LastName,
   BusinessId
}

然后做:

    Session[SessionKeys.FirstName.ToString()] = "Rob";

或创建一个SessionHelper类,使整个过程更加整洁:

public static class SessionHelper
    {
        public static void SetSessionKey(SessionKey sessionKey, object value)
        {
            HttpContext.Current.Session.Add(sessionKey.ToString(), value.ToString());
        }

        public static String GetSessionKey(SessionKey sessionKey)
        {
            return HttpContext.Current.Session[sessionKey.ToString()] as string;
        }
     }
}

答案 2 :(得分:2)

没有什么比约定更好了。它是一个由开发人员共享或由项目团队框架的约定,以便每个人都能轻松实现。
就像你提到的那样,我的组织使用带有下划线的大写字母。

答案 3 :(得分:1)

CamelCase是个不错的选择。

Session [“MyValue”] =“value”;

CamelCase参考:

http://en.wikipedia.org/wiki/CamelCase

答案 4 :(得分:0)

通常这些约定由团队决定,以保持代码的一致性,但如果假设您正在扩展或自定义现有代码,那么最好遵循现有的编写代码。 另一件事是,如果你想决定遵循哪个约定,那么通常遵循Constants资本命名约定,否则遵循Camel符号以提高可读性。