<div dir="ltr">Hi Ian,<div><br></div><div>Could you provide a little background on what your use case is for stopping particular Sessions manually?</div><div>It is more typical to let the Initiator manage stopping and starting Sessions for you, e.g. using the StartTime/EndTime SessionSettings, or by calling Stop() on the Initiator itself to stop all Sessions.</div><div>Depending on your use case the Initiaiator's AddSession/RemoveSession methods might be useful to you.  See: <a href="https://github.com/connamara/quickfixn/blob/master/QuickFIXn/AbstractInitiator.cs#L130-L157">https://github.com/connamara/quickfixn/blob/master/QuickFIXn/AbstractInitiator.cs#L130-L157</a></div><div><br></div><div class="gmail_extra"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><font face="arial, helvetica, sans-serif">--</font></div><font face="arial, helvetica, sans-serif">Mike Gatny<br>Connamara Systems, LLC</font></div></div></div>
<br><div class="gmail_quote">On Wed, Mar 15, 2017 at 6:10 AM, Ian Clements <span dir="ltr"><<a href="mailto:ian@investmentsoftwareltd.com" target="_blank">ian@investmentsoftwareltd.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="m_7355238679627389662WordSection1">
<p class="MsoNormal">Hi all,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Currently I have the code below to stop a Session.  <u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">               
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">try</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> { session.Disconnect(</span><span style="font-size:9.5pt;font-family:Consolas;color:#a31515">"FIX Engine: Stopped."</span><span style="font-size:9.5pt;font-family:Consolas;color:black">);
 }<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">               
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">catch</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> (</span><span style="font-size:9.5pt;font-family:Consolas;color:#2b91af">Exception</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
 ex)<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">                {<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">                   
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">var</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> msg =
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">string</span><span style="font-size:9.5pt;font-family:Consolas;color:black">.Format(</span><span style="font-size:9.5pt;font-family:Consolas;color:#a31515">"FIX Engine: Session Disconnect
 Error for {0} - {1}"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">, sessionID.ToString(), ex.ToString());<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">                    logger.Write(msg, System.Diagnostics.</span><span style="font-size:9.5pt;font-family:Consolas;color:#2b91af">EventLogEnt<wbr>ryType</span><span style="font-size:9.5pt;font-family:Consolas;color:black">.Error,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#2b91af">LoggerPriority</span><span style="font-size:9.5pt;font-family:Consolas;color:black">.High);<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">                }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:9.5pt;font-family:Consolas;color:black">                session =
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">null</span><span style="font-size:9.5pt;font-family:Consolas;color:black">;</span><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">However we have intermittently been getting the following error when our FIX engine restarts –<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="background:white"><span style="font-size:9.0pt;font-family:"Segoe UI",sans-serif;color:#222222">Description: The process was terminated due to an unhandled exception.<u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:9.0pt;font-family:"Segoe UI",sans-serif;color:#222222">Exception Info: System.ObjectDisposedException<u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:9.0pt;font-family:"Segoe UI",sans-serif;color:#222222">Stack:<u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:9.0pt;font-family:"Segoe UI",sans-serif;color:#222222">   at QuickFix.FileLog.OnEvent(<wbr>System.String)<u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:9.0pt;font-family:"Segoe UI",sans-serif;color:#222222">   at QuickFix.Transport.<wbr>SocketInitiator.<wbr>SocketInitiatorThreadStart(<wbr>System.Object)<u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:9.0pt;font-family:"Segoe UI",sans-serif;color:#222222">   at System.Threading.<wbr>ExecutionContext.RunInternal(<wbr>System.Threading.<wbr>ExecutionContext, System.Threading.<wbr>ContextCallback,
 System.Object, Boolean)<u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:9.0pt;font-family:"Segoe UI",sans-serif;color:#222222">   at System.Threading.<wbr>ExecutionContext.Run(System.<wbr>Threading.ExecutionContext, System.Threading.<wbr>ContextCallback,
 System.Object, Boolean)<u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:9.0pt;font-family:"Segoe UI",sans-serif;color:#222222">   at System.Threading.<wbr>ExecutionContext.Run(System.<wbr>Threading.ExecutionContext, System.Threading.<wbr>ContextCallback,
 System.Object)<u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:9.0pt;font-family:"Segoe UI",sans-serif;color:#222222">   at System.Threading.ThreadHelper.<wbr>ThreadStart(System.Object)<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Is this potentially due to us not disconnecting properly?  Should I be calling Logout and then Disconnect or just Logout?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Many thanks,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

<br>______________________________<wbr>_________________<br>
Quickfixn mailing list<br>
<a href="mailto:Quickfixn@lists.quickfixn.com">Quickfixn@lists.quickfixn.com</a><br>
<a href="http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com" rel="noreferrer" target="_blank">http://lists.quickfixn.com/<wbr>listinfo.cgi/quickfixn-<wbr>quickfixn.com</a><br>
<br></blockquote></div><br></div></div>