我正在处理一个由 10-15 名 ASP.NET (4.0) 开发人员组成的团队,我怎样才能阻止他们在代码中使用相同的 session 名称? 或者 换句话说,开发人员如何知道 session 名称已经存在,因此他应该使用其他名称。 就我而言,每个开发人员都在使用 Session["ID"],我希望,如果 Session["ID"] 已被使用,那么开发人员可能会获得某种信息,以便他不应该使用相同的 session 名称。
也许这可能很容易或偏离轨道..但我面临这个问题。 谢谢
最佳答案
我假设您正在谈论确保开发人员不会全部使用相同的 key 作为 session 值。
建立命名约定可能是解决该问题的最简单方法。
我还发现将 session 相关值包装在辅助类中可以避免此问题,并且可以使此类数据的使用更加清晰(并且更加抽象)。
示例
public static class MyClass
{
public static UserId
{
get{ return (int)Session["UserId"]; }
set{ Session["UserId"] = value; }
}
}
只要您使用正确的源代码控制,任何冲突都会很快变得明显。
如果您想让键名真正明显,那么您可以将它们作为类中单独的字段进行管理,所有这些字段都分组在同一位置。
public static class MyClass
{
private static readonly string _userIdKey = "UserId";
private static readonly string _anotherKey = "AnotherKey";
public static UserId
{
get{ return (int)Session[_userIdKey ]; }
set{ Session[_userIdKey ] = value; }
}
}
最后,您可以针对这些帮助器类运行单元测试,以确保键不会被覆盖,尽管这可能有点过头了。
关于asp.net - 阻止开发人员在多开发人员环境中使用相同的 session 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10271114/