使用可以处理多个连接(即会话)的API,每个会话都有一个唯一ID(sessionID),并通过序列号跟踪所有入站和出站消息。
的Class1
public void Method1(SessionID sessionID, Message message)
{
var ID = sessionID;
var foo = message.InSeqNo;
}
public void Method2(SessionID sessionID, Message message)
{
var ID = SessionID;
var bar = message.OutSeqNo;
}
我很好奇你会如何建议将这些数据存储在一起,这样每个实例都可以根据其sessionID独立显示。
无需存储以前的号码,因为它们仅显示。 没有任何SessionID会改变,每个序列号都会独立更新。
我能想到的最好的事情是使用两个单独的字段,如Dictionary<sessionID, number>
,。更新每个字段,重新添加新值,然后通过LINQ连接两个字段并显示信息。
答案 0 :(得分:1)
为什么不包含特定ID的入站和出站序列号的单个类?
class SessionInfo
{
public int SessionId { get; private set; }
public int InSeqNo { get; set; }
public int OutSeqNo { get; set; }
}
Dictionary Sessions = new Dictionary();
要更新会话的InSeqNo,请:
SessionInfo sess;
if (Sessions.TryGetValue(sessionId, out sess))
{
++sess.InSeqNo;
}
或者我在你的问题中遗漏了一些基本的东西?