本文整理匯總了C#中QuickFix.Message.IsApp方法的典型用法代碼示例。如果您正苦於以下問題:C# Message.IsApp方法的具體用法?C# Message.IsApp怎麽用?C# Message.IsApp使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類QuickFix.Message
的用法示例。
在下文中一共展示了Message.IsApp方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Next
public void Next(Message message)
{
if (!IsSessionTime)
{
Reset();
return;
}
Header header = message.Header;
string msgType = "";
try
{
msgType = header.GetField(Fields.Tags.MsgType);
string beginString = header.GetField(Fields.Tags.BeginString);
if (!beginString.Equals(this.SessionID.BeginString))
throw new UnsupportedVersion();
if (MsgType.LOGON.Equals(msgType))
{
if (this.SessionID.IsFIXT)
{
targetDefaultApplVerID = new ApplVerID(message.GetString(Fields.Tags.DefaultApplVerID));
}
else
{
targetDefaultApplVerID = Message.GetApplVerID(beginString);
}
}
if (this.SessionID.IsFIXT && !Message.IsAdminMsgType(msgType))
{
DataDictionary.DataDictionary.Validate(message, SessionDataDictionary, ApplicationDataDictionary, beginString, msgType);
}
else
{
this.SessionDataDictionary.Validate(message, beginString, msgType);
}
//End Refactor
if (MsgType.LOGON.Equals(msgType))
NextLogon(message);
else if (MsgType.HEARTBEAT.Equals(msgType))
NextHeartbeat(message);
else if (MsgType.TEST_REQUEST.Equals(msgType))
NextTestRequest(message);
else if (MsgType.SEQUENCE_RESET.Equals(msgType))
NextSequenceReset(message);
else if (MsgType.LOGOUT.Equals(msgType))
NextLogout(message);
else if (MsgType.RESEND_REQUEST.Equals(msgType))
NextResendRequest(message);
else
{
if (!Verify(message))
return;
state_.IncrNextTargetMsgSeqNum();
}
}
catch (TagException e)
{
if (null != e.InnerException)
this.Log.OnEvent(e.InnerException.Message);
GenerateReject(message, e.sessionRejectReason, e.field);
}
catch (UnsupportedVersion)
{
if (MsgType.LOGOUT.Equals(msgType))
{
NextLogout(message);
}
else
{
GenerateLogout("Incorrect BeginString");
state_.IncrNextTargetMsgSeqNum();
}
}
catch (UnsupportedMessageType e)
{
this.Log.OnEvent("Unsupported message type: " + e.Message);
GenerateBusinessMessageReject(message, Fields.BusinessRejectReason.UNKNOWN_MESSAGE_TYPE, 0);
}
catch (FieldNotFoundException e)
{
this.Log.OnEvent("Rejecting invalid message, field not found: " + e.Message);
if ((SessionID.BeginString.CompareTo(FixValues.BeginString.FIX42) >= 0) && (message.IsApp()))
{
GenerateBusinessMessageReject(message, Fields.BusinessRejectReason.CONDITIONALLY_REQUIRED_FIELD_MISSING, e.Field);
}
else
{
if (msgType.Equals(Fields.MsgType.LOGON))
{
this.Log.OnEvent("Required field missing from logon");
Disconnect("Required field missing from logon");
}
else
GenerateReject(message, new QuickFix.FixValues.SessionRejectReason(SessionRejectReason.REQUIRED_TAG_MISSING, "Required Tag Missing"), e.Field);
}
//.........這裏部分代碼省略.........