﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » WinForms (How do I?)  » How to gracefully handle server connection changes?</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Fri, 11 Sep 2026 04:26:07 GMT</lastBuildDate><ttl>20</ttl><item><title>How to gracefully handle server connection changes?</title><link>http://forum.strataframe.net/FindPost29147.aspx</link><description>Hi all,&lt;br/&gt;&lt;br/&gt;I have seen cases where after setting a connection to the server using SF Connection Manager, if the server IP address changes or the SF application cannot contact the server an exception will be triggered.&lt;br/&gt;&lt;br/&gt;I am currently have code in the AppMain.UnhandledExceptionFound() to trap any SqlClient error and then show the available connection string so the end user can change it if need it.&lt;br/&gt;&lt;span&gt;[quote]&lt;br/&gt;&lt;/span&gt;&lt;pre style="font-family: consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;Private&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;Shared&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;Sub&lt;/span&gt;&amp;nbsp;UnhandledExceptionFound(&lt;span style="color: blue;"&gt;ByVal&lt;/span&gt;&amp;nbsp;e&amp;nbsp;&lt;span style="color: blue;"&gt;As&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;UnhandledExceptionFoundEventArgs&lt;/span&gt;)&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: green;"&gt;'--&amp;nbsp;ToDo:&amp;nbsp;add&amp;nbsp;any&amp;nbsp;error&amp;nbsp;logging&amp;nbsp;required.&amp;nbsp;&amp;nbsp;To&amp;nbsp;prevent&amp;nbsp;the&amp;nbsp;StrataFrame&amp;nbsp;ApplicationErrorForm&amp;nbsp;from&amp;nbsp;showing,&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: green;"&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;set:&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: green;"&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Handled&amp;nbsp;=&amp;nbsp;true&lt;/span&gt;&lt;br/&gt; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: green;"&gt;'--&amp;nbsp;If&amp;nbsp;we&amp;nbsp;get&amp;nbsp;an&amp;nbsp;error&amp;nbsp;with&amp;nbsp;the&amp;nbsp;connection&amp;nbsp;and&amp;nbsp;the&amp;nbsp;user&amp;nbsp;is&amp;nbsp;the&amp;nbsp;Administrator&amp;nbsp;then&amp;nbsp;show&amp;nbsp;the&amp;nbsp;&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: green;"&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;the&amp;nbsp;Available&amp;nbsp;Connection&amp;nbsp;Strings&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;If&lt;/span&gt;&amp;nbsp;e.UnhandledException.Source.IndexOf(&lt;span style="color: rgb(163, 21, 21);"&gt;"SqlClient"&lt;/span&gt;)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;span style="color: blue;"&gt;AndAlso&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;Basics&lt;/span&gt;.IsAdministrator()&amp;nbsp;&lt;span style="color: blue;"&gt;Then&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;frmSplashScreen&lt;/span&gt;.HideSplash()&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;ConnectionManager&lt;/span&gt;.ShowAvailableConnectionStrings()&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(43, 145, 175);"&gt;ConnectionManager&lt;/span&gt;.SetConnections()&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(43, 145, 175);"&gt;frmSplashScreen&lt;/span&gt;.ShowSplash()&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.Handled&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue;"&gt;True&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;End&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;If&lt;/span&gt;&lt;br/&gt; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: green;"&gt;'--&amp;nbsp;email&amp;nbsp;the&amp;nbsp;error&amp;nbsp;to&amp;nbsp;Progytech&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendErrorMessageViaEmail(e.UnhandledException)&lt;br/&gt; &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;End&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;Sub&lt;/span&gt;&lt;br/&gt;&lt;/pre&gt;&lt;span&gt;[/quote]&lt;br/&gt;So far the above code is working, but after calling the ConnectionManager.SetConnections() the program exit with another error, then after running the 2nd time, it will use the corrected connection string.&lt;br/&gt;Is anybody here handling this kind of situation differently?&amp;nbsp; Any suggestion on how to do this more graceful instead of just crashing the application?&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;</description><pubDate>Thu, 02 Dec 2010 12:36:26 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item></channel></rss>