• Version 1.16.0
Show / Hide Table of Contents

Loading Engine Settings From Configuration Files

The EngineSettings values can be loaded from a configuration file using the LoadFromConfigurationFile(string) method. This method reads the FixEngine configuration section from the .NET application configuration file (YourApplicationName.dll.config) or the XML or JSON file specified by the configFileName parameter.

For example:

var settings = new EngineSettings();

settings.LoadFromConfigurationFile();

Engine.Init(settings);

Property Names

Property names are described in the EngineSettings.Key class.

Sample Configuration Files

.NET Application Configuration File Sample

<?xml version="1.0"?>
<configuration>

    <configSections>
        <section name="FixEngine" type="System.Configuration.NameValueSectionHandler"/>
    </configSections>

    <FixEngine>
        <add key="DisableNetworkLevel" value="true"/>
        <add key="Dictionary" value="Dictionary1.xml|Dictionary2.xml|Dictionary3.xml"/>
        <add key="FileBasedStorage.SegmentSize" value="1000"/>
        <add key="FileBasedStorage.IgnoreIntegrityErrors" value="true"/>
        <add key="HeartbeatInterval" value="60"/>
        <add key="License.Store" value="License"/>
        <add key="License.AlertingDaysBeforeExpiration" value="1024"/>
        <add key="ListenPort" value="5555,6666,7777"/>
        <add key="LocalTimeUsage" value="true"/>
        <add key="LocalNetworkInterface" value="255.255.255.155"/>
        <add key="Log.Directory" value="Log"/>
        <add key="Log.InboundMessages" value="false"/>
        <add key="Log.OutboundMessages" value="false"/>
        <add key="Log.BeforeSending" value="false"/>
        <add key="LogonTimeout" value="10"/>
        <add key="LogoutTimeout" value="10"/>
        <add key="MessageGrouping" value="10"/>
        <add key="ProcessDeliverToCompId" value="false"/>
        <add key="Reconnect.Attempts" value="32"/>
        <add key="Reconnect.Interval" value="64"/>
        <add key="ReasonableTransmissionTime" value="50"/>
        <add key="Receive.BufferSize" value="32768"/>
        <add key="Receive.SpinningTimeout" value="1000"/>
        <add key="Resending.QueueSize" value="2000"/>
        <add key="Resending.BatchSize" value="5000"/>
        <add key="ResendRequestMaximumRange" value="256"/>
        <add key="Send.BufferSize" value="32768"/>
        <add key="Send.QueueMaxSize" value="134217728"/>
        <add key="Send.LogoutOnException" value="false"/>
        <add key="Send.LogoutOnInvalidLogon" value="false"/>
        <add key="Send.SpinningTimeout" value="1000"/>
        <add key="SetLastMsgSeqNumProcessed" value="true"/>
        <add key="SetApplVerId" value="false"/>
        <add key="StorageReadingMode" value="NoEmbeddedSohCharacters"/>
        <add key="SupportNextExpectedMsgSeqNum" value="true"/>
        <add key="ScrambledLogonFields" value="554,925"/>
        <add key="TcpNoDelay" value="false"/>
        <add key="UpdateSendingTime" value="false"/>
        <add key="Validate.EmptyFieldValues" value="true"/>
        <add key="Validate.FieldValues" value="true"/>
        <add key="Validate.CheckSum" value="true"/>
        <add key="Validate.DuplicatedFields" value="true"/>
        <add key="Validate.RepeatingGroupEntryCount" value="true"/>
        <add key="Validate.RepeatingGroupLeadingField" value="true"/>
        <add key="Validate.RequiredFields" value="true"/>
        <add key="Validate.UnknownFields" value="true"/>
        <add key="Validate.UnknownMessages" value="true"/>
        <add key="Versions" value="Fix42|Fix44"/>
        <add key="SSL.Protocol" value="Tls11|Tls12"/>
    </FixEngine>

</configuration>

XML Configuration File Sample

<?xml version="1.0"?>
<configuration>
    <FixEngine>
        <DisableNetworkLevel>true</DisableNetworkLevel>
        <Dictionary>Dictionary1.xml|Dictionary2.xml|Dictionary3.xml</Dictionary>
        <FileBasedStorage.SegmentSize>1000</FileBasedStorage.SegmentSize>
        <FileBasedStorage.IgnoreIntegrityErrors>true</FileBasedStorage.IgnoreIntegrityErrors>
        <HeartbeatInterval>60</HeartbeatInterval>
        <License.Store>License</License.Store>
        <License.AlertingDaysBeforeExpiration>1024</License.AlertingDaysBeforeExpiration>
        <ListenPort>5555,6666,7777</ListenPort>
        <LocalTimeUsage>true</LocalTimeUsage>
        <LocalNetworkInterface>255.255.255.155</LocalNetworkInterface>
        <Log.Directory>Log</Log.Directory>
        <Log.InboundMessages>false</Log.InboundMessages>
        <Log.OutboundMessages>false</Log.OutboundMessages>
        <Log.BeforeSending>false</Log.BeforeSending>
        <LogonTimeout>10</LogonTimeout>
        <LogoutTimeout>10</LogoutTimeout>
        <MessageGrouping>10</MessageGrouping>
        <ProcessDeliverToCompId>false</ProcessDeliverToCompId>
        <Reconnect.Attempts>32</Reconnect.Attempts>
        <Reconnect.Interval>64</Reconnect.Interval>
        <ReasonableTransmissionTime>50</ReasonableTransmissionTime>
        <Receive.BufferSize>32768</Receive.BufferSize>
        <Receive.SpinningTimeout>1000</Receive.SpinningTimeout>
        <Resending.QueueSize>2000</Resending.QueueSize>
        <Resending.BatchSize>5000</Resending.BatchSize>
        <ResendRequestMaximumRange>256</ResendRequestMaximumRange>
        <Send.BufferSize>32768</Send.BufferSize>
        <Send.QueueMaxSize>134217728</Send.QueueMaxSize>
        <Send.LogoutOnException>false</Send.LogoutOnException>
        <Send.LogoutOnInvalidLogon>false</Send.LogoutOnInvalidLogon>
        <Send.SpinningTimeout>1000</Send.SpinningTimeout>
        <SetLastMsgSeqNumProcessed>true</SetLastMsgSeqNumProcessed>
        <SetApplVerId>false</SetApplVerId>
        <StorageReadingMode>NoEmbeddedSohCharacters</StorageReadingMode>
        <SupportNextExpectedMsgSeqNum>true</SupportNextExpectedMsgSeqNum>
        <ScrambledLogonFields>554,925</ScrambledLogonFields>
        <TcpNoDelay>false</TcpNoDelay>
        <UpdateSendingTime>false</UpdateSendingTime>
        <Validate.CheckSum>true</Validate.CheckSum>
        <Validate.DuplicatedFields>true</Validate.DuplicatedFields>
        <Validate.EmptyFieldValues>true</Validate.EmptyFieldValues>
        <Validate.FieldValues>true</Validate.FieldValues>
        <Validate.RepeatingGroupEntryCount>true</Validate.RepeatingGroupEntryCount>
        <Validate.RepeatingGroupLeadingField>true</Validate.RepeatingGroupLeadingField>
        <Validate.RequiredFields>true</Validate.RequiredFields>
        <Validate.UnknownFields>true</Validate.UnknownFields>
        <Validate.UnknownMessages>true</Validate.UnknownMessages>
        <Versions>Fix42|Fix44</Versions>
        <SSL.Protocol>Tls11|Tls12</SSL.Protocol>
    </FixEngine>
</configuration>

JSON Configuration File Sample

{
  "FixEngine": {
    "DisableNetworkLevel": "true",
    "Dictionary": "Dictionary1.xml|Dictionary2.xml|Dictionary3.xml",
    "FileBasedStorage.SegmentSize": "1000",
    "FileBasedStorage.IgnoreIntegrityErrors": "true",
    "HeartbeatInterval": "60",
    "License.Store": "License",
    "License.AlertingDaysBeforeExpiration": "1024",
    "ListenPort": "5555,6666,7777",
    "LocalTimeUsage": "true",
    "LocalNetworkInterface": "255.255.255.155",
    "Log.Directory": "Log",
    "Log.InboundMessages": "false",
    "Log.OutboundMessages": "false",
    "Log.BeforeSending": "false",
    "MessageGrouping": "10",
    "ProcessDeliverToCompId": "false",
    "LogonTimeout": "10",
    "LogoutTimeout": "10",
    "Reconnect.Attempts": "32",
    "Reconnect.Interval": "64",
    "ReasonableTransmissionTime": "50",
    "Receive.BufferSize": "32768",
    "Receive.SpinningTimeout": "1000",
    "Resending.QueueSize": "2000",
    "Resending.BatchSize": "5000",
    "ResendRequestMaximumRange": "256",
    "Send.BufferSize": "32768",
    "Send.QueueMaxSize": "134217728",
    "Send.LogoutOnException": "false",
    "Send.LogoutOnInvalidLogon": "false",
    "Send.SpinningTimeout": "1000",
    "SetLastMsgSeqNumProcessed": "true",
    "SetApplVerId": "false",
    "StorageReadingMode": "NoEmbeddedSohCharacters",
    "SupportNextExpectedMsgSeqNum": "true",
    "ScrambledLogonFields": "554,925",
    "TcpNoDelay": "false",
    "UpdateSendingTime": "false",
    "Validate.CheckSum": "true",
    "Validate.EmptyFieldValues": "true",
    "Validate.DuplicatedFields": "true",
    "Validate.FieldValues": "true",
    "Validate.RepeatingGroupEntryCount": "true",
    "Validate.RepeatingGroupLeadingField": "true",
    "Validate.RequiredFields": "true",
    "Validate.UnknownFields": "true",
    "Validate.UnknownMessages": "true",
    "Versions": "Fix42|Fix44",
    "SSL.Protocol": "Tls11|Tls12"
  }
}
In this article
Back to top Copyright © Onix Solutions.
Generated by DocFX