-
Q: Is the OnixS .NET FIX Engine 100% managed code (MSIL-only, no native code)?
A: No. OnixS .NET FIX Engine represent a mixed code assembly. To achieve the best performance and minimize latency we use unmanaged code in some mission-critical subsystems of OnixS .NET FIX Engine.
-
Q: I need to continue the FIX Session starting from the specific message sequence number, but I have deleted the log files from the previous runs. How can I do this?
A: You can use InSeqNum and OutSeqNum properties to set the start sequence numbers before establishing the session.
See also: Message Sequence Numbers.
-
Q: Why does my GUI application hang when I try to handle the Engine events?
A: The most probable reason is that you are trying to update GUI controls directly from the event handler. It is necessary to use Control.Invoke instead.
See also: Updating GUI Controls on Session event.
-
Q: How can I customize OnixS .NET FIX Engine to work with non-standard FIX counterparties that employ user-defined fields and messages (use modifications of the FIX Protocol)?
A: You need to define and use the corresponding XML-based FIX Dialect description.
See also: FIX Dialects.
-
Q: What is the default behavior of OnixS .NET FIX Engine in the case where a Test Request (1) message was sent to the counterparty and the counterparty does not respond?
A: When the response on the Test Request (1) message is not received during HeartBeatInt, the FIX Connection is considered as lost. FIX Session-Acceptor changes its state to LOGON_IN_PROGRESS. FIX Session-Initiator changes its state to RECONNECTING and tries to restore the FIX Connection pre-configured number of times in pre-configured interval (using the binary exponential back off algorithm). Please note that OnixS .NET FIX Engine automatically handles sending of Test Request messages (when needed).
See also: Reconnect.Attempts and Reconnect.Interval configuration settings.
-
Q: How can I set SenderSubID and OnBehalfOfSubID fields in the Logon message?
A: Take a look at Connecting using Custom Logon Message topic.
-
Q: Why do I receive the "Invalid FIX Engine settings: Cannot open the persistent storage folder ('MsgStorage')" error when I'm trying to run my FIX application as a Windows service? When I run my application as a standalone one, all work perfectly OK.
A: The reason of this error is the different default current folder for Windows Service and Windows application. By default, the current directory for your Windows service is the System32 folder. To solve this issue specify the full path to the persistent storage folder using the Log.Directory setting.
-
Q: How can I set SenderSubID, TargetSubID, SenderLocationID, TargetLocationID, for all outgoing messages including session-level ones?
A: You can use a corresponding property exposed by Session class like SenderSubID and TargetSubID.
-
Q: How will I know if I do not have the valid license file? What is a failure scenario/message for the Engine?
A: When the license expires EngineException is thrown during the call of the Init()()() method. See also: Licensing the Engine.
-
Q: Is there any way to check whether Logon and/or Logout messages are received?
A: Yes. Subscribe to the InboundSessionMsgEvent event and you'll be able to check all session-level messages including Logon and Logout.