private static void StartCommandCallback(object state) { SqlCommandAsyncResult result = (SqlCommandAsyncResult)state; try { result.StartCommandInternal(false); } catch (Exception exception) { if (Fx.IsFatal(exception)) { throw; } if (result.sqlCommand.Connection != null) { result.sqlCommand.Connection.Close(); } result.Complete(false, exception); } }
static void StartCommandCallback(object state) { SqlCommandAsyncResult thisPtr = (SqlCommandAsyncResult)state; try { // this can throw on the [....] path - we need to signal the callback thisPtr.StartCommandInternal(false); } catch (Exception e) { if (Fx.IsFatal(e)) { throw; } if (thisPtr.sqlCommand.Connection != null) { thisPtr.sqlCommand.Connection.Close(); } thisPtr.Complete(false, e); } }