Acceptor或者Initiator能够为您维护尽可能多的FIX会话,因而FIX会话标识的唯一性非常重要。在QuickFIX/N中,一个FIX会话的唯一标识是由:BeginString(FIX版本号)、SenderCompID(发送方ID)及TargetCompID(目标方ID)等标识字符组合而成。通常还会加上SessionQualifier来保证会话的唯一性。
每个FIX会话可以有很多与它们相关联的配置信息。在编译的时候,有些配置可能还是未知的,因此可以通过类SessionSettings来设置或加载。 SessionSettings是一个数据字典,可以随意设置和查询配置信息。
SessionSettings有两个带参数构造函数,其中一个是System.IO.TextReader的参数,它能够解析TextReader的配置信息;另外一个构造参数是文件名,把配置文件的文件路径作为参数传入,它可以解析当中的配置信息 。当然,你也可以自己定义组件(例如,一个特定的数据库存储),然后使用SessionSettings存储配置信息(SessionSettings提供了一个Set方法)。
配置文件当中有两个类型的配置节点: [DEFAULT],[SESSION]。[SESSION]定义一个会话。[DEFAULT]节点定义与会话相关,但没在会话当中明确定义的相关配置,比如连接对手方的IP、端口、心跳间隔等。QuickFIX/N并不会为所有必需配置的定义默认值。如果配置有任何一个QuickFIX/N必需的配置项缺失,它将抛出ConfigError异常,提示配置缺少或格式不正确。