/// <include file='Doc/en_EN/FbConfiguration.xml' path='doc/class[@name="FbConfiguration"]/method[@name="DatabaseShutdown(FbShutdownMode,System.Int32)"]/*'/> public void DatabaseShutdown(FbShutdownMode mode, int seconds) { // Configure Spb this.StartSpb = this.CreateParameterBuffer(); this.StartSpb.Append(IscCodes.isc_action_svc_properties); this.StartSpb.Append(IscCodes.isc_spb_dbname, this.Database); switch (mode) { case FbShutdownMode.Forced: this.StartSpb.Append(IscCodes.isc_spb_prp_shutdown_db, seconds); break; case FbShutdownMode.DenyTransaction: this.StartSpb.Append( IscCodes.isc_spb_prp_deny_new_transactions, seconds); break; case FbShutdownMode.DenyConnection: this.StartSpb.Append( IscCodes.isc_spb_prp_deny_new_attachments, seconds); break; } // Start execution this.StartTask(); this.Close(); }
public async Task DatabaseShutdownAsync(FbShutdownMode mode, int seconds, CancellationToken cancellationToken = default) { EnsureDatabase(); await OpenAsync(cancellationToken).ConfigureAwait(false); var startSpb = new ServiceParameterBuffer2(); startSpb.Append(IscCodes.isc_action_svc_properties); startSpb.Append2(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding); switch (mode) { case FbShutdownMode.Forced: startSpb.Append(IscCodes.isc_spb_prp_shutdown_db, seconds); break; case FbShutdownMode.DenyTransaction: startSpb.Append(IscCodes.isc_spb_prp_deny_new_transactions, seconds); break; case FbShutdownMode.DenyConnection: startSpb.Append(IscCodes.isc_spb_prp_deny_new_attachments, seconds); break; } await StartTaskAsync(startSpb, cancellationToken).ConfigureAwait(false); await CloseAsync(cancellationToken).ConfigureAwait(false); }
public void DatabaseShutdown(FbShutdownMode mode, int seconds) { // Configure Spb this.StartSpb = new ServiceParameterBuffer(); this.StartSpb.Append(IscCodes.isc_action_svc_properties); this.StartSpb.Append(IscCodes.isc_spb_dbname, this.Database); switch (mode) { case FbShutdownMode.Forced: this.StartSpb.Append(IscCodes.isc_spb_prp_shutdown_db, seconds); break; case FbShutdownMode.DenyTransaction: this.StartSpb.Append(IscCodes.isc_spb_prp_deny_new_transactions, seconds); break; case FbShutdownMode.DenyConnection: this.StartSpb.Append(IscCodes.isc_spb_prp_deny_new_attachments, seconds); break; } // Start execution this.StartTask(); this.Close(); }
public void DatabaseShutdown(FbShutdownMode mode, int seconds) { EnsureDatabase(); Open(); var startSpb = new ServiceParameterBuffer2(); startSpb.Append(IscCodes.isc_action_svc_properties); startSpb.Append2(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding); switch (mode) { case FbShutdownMode.Forced: startSpb.Append(IscCodes.isc_spb_prp_shutdown_db, seconds); break; case FbShutdownMode.DenyTransaction: startSpb.Append(IscCodes.isc_spb_prp_deny_new_transactions, seconds); break; case FbShutdownMode.DenyConnection: startSpb.Append(IscCodes.isc_spb_prp_deny_new_attachments, seconds); break; } StartTask(startSpb); Close(); }
private async Task DatabaseShutdownImpl(FbShutdownMode mode, int seconds, AsyncWrappingCommonArgs async) { EnsureDatabase(); await Open(async).ConfigureAwait(false); var startSpb = new ServiceParameterBuffer(); startSpb.Append(IscCodes.isc_action_svc_properties); startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding); switch (mode) { case FbShutdownMode.Forced: startSpb.Append(IscCodes.isc_spb_prp_shutdown_db, seconds); break; case FbShutdownMode.DenyTransaction: startSpb.Append(IscCodes.isc_spb_prp_deny_new_transactions, seconds); break; case FbShutdownMode.DenyConnection: startSpb.Append(IscCodes.isc_spb_prp_deny_new_attachments, seconds); break; } await StartTask(startSpb, async).ConfigureAwait(false); await Close(async).ConfigureAwait(false); }
public void DatabaseShutdown(FbShutdownMode mode, int seconds) { StartSpb = new ServiceParameterBuffer(); StartSpb.Append(IscCodes.isc_action_svc_properties); StartSpb.Append(IscCodes.isc_spb_dbname, Database); switch (mode) { case FbShutdownMode.Forced: StartSpb.Append(IscCodes.isc_spb_prp_shutdown_db, seconds); break; case FbShutdownMode.DenyTransaction: StartSpb.Append(IscCodes.isc_spb_prp_deny_new_transactions, seconds); break; case FbShutdownMode.DenyConnection: StartSpb.Append(IscCodes.isc_spb_prp_deny_new_attachments, seconds); break; } Open(); StartTask(); Close(); }
public Task DatabaseShutdownAsync(FbShutdownMode mode, int seconds, CancellationToken cancellationToken = default) => DatabaseShutdownImpl(mode, seconds, new AsyncWrappingCommonArgs(true, cancellationToken));
public void DatabaseShutdown(FbShutdownMode mode, int seconds) => DatabaseShutdownImpl(mode, seconds, new AsyncWrappingCommonArgs(false)).GetAwaiter().GetResult();