我正在处理一个 10-15 人的 ASP.NET (4.0) 开发人员团队,我怎么能阻止他们在他们的代码中使用相同的会话名称?或者换句话说,开发人员怎么会知道 Session 名称已经存在,所以他应该使用其他名称。在我的情况下,每个开发人员都在使用 Session [“ID”],我想,如果 Session [“ID”] 已经被使用,那么开发人员可能会获得某种信息,以便他不应该使用相同的会话名称。
可能这可能很容易或偏离轨道..但我正面临这个问题。谢谢
我正在处理一个 10-15 人的 ASP.NET (4.0) 开发人员团队,我怎么能阻止他们在他们的代码中使用相同的会话名称?或者换句话说,开发人员怎么会知道 Session 名称已经存在,所以他应该使用其他名称。在我的情况下,每个开发人员都在使用 Session [“ID”],我想,如果 Session [“ID”] 已经被使用,那么开发人员可能会获得某种信息,以便他不应该使用相同的会话名称。
可能这可能很容易或偏离轨道..但我正面临这个问题。谢谢
我假设您正在谈论确保开发人员不会对 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; }
}
}
最后,您可以针对这些帮助程序类运行单元测试,以确保键不会被覆盖,尽管这可能是矫枉过正。