75 lines
4.0 KiB
Markdown
75 lines
4.0 KiB
Markdown
---
|
|
source_files:
|
|
- Common/DTS.Common.DBSyncService/Properties/AssemblyInfo.cs
|
|
- Common/DTS.Common.DBSyncService/Properties/Settings.Designer.cs
|
|
generated_at: "2026-04-16T11:55:52.072519+00:00"
|
|
model: "zai-org/GLM-5-FP8"
|
|
schema_version: 1
|
|
sha256: "192083dd898290ec"
|
|
---
|
|
|
|
# Documentation: DTS.Common.DBSyncService
|
|
|
|
## 1. Purpose
|
|
|
|
This module provides assembly metadata and application configuration settings for the DTS Database Synchronization Service. Based on the available source files, this appears to be a configuration layer for a Windows service that performs database synchronization operations. The actual service implementation logic is not present in the provided files—only the assembly attributes and auto-generated settings accessor are visible.
|
|
|
|
---
|
|
|
|
## 2. Public Interface
|
|
|
|
### `DTS.Common.DBSyncService.Properties.Settings`
|
|
|
|
An `internal sealed partial` class that extends `global::System.Configuration.ApplicationSettingsBase`. Provides strongly-typed access to application settings.
|
|
|
|
| Property | Type | Access | Default Value | Description |
|
|
|----------|------|--------|---------------|-------------|
|
|
| `Default` | `Settings` | Static getter | N/A | Returns a synchronized singleton instance of the `Settings` class |
|
|
| `Monitoring` | `bool` | Instance getter | `False` | Application-scoped setting indicating whether monitoring is enabled |
|
|
| `Interval` | `int` | Instance getter | `60000` | Application-scoped setting for the operation interval (presumably milliseconds) |
|
|
| `ServiceName` | `string` | Instance getter | `"DTS DB Sync Service"` | Application-scoped setting for the service display name |
|
|
| `Service` | `string` | Instance getter | `"DB Sync Service"` | Application-scoped setting for the service identifier |
|
|
|
|
### Assembly Attributes (AssemblyInfo.cs)
|
|
|
|
| Attribute | Value |
|
|
|-----------|-------|
|
|
| `AssemblyTitle` | `"DTS.Common.DBSyncService"` |
|
|
| `AssemblyDescription` | `""` (empty) |
|
|
| `AssemblyVersion` | `"1.0.0.0"` |
|
|
| `AssemblyFileVersion` | `"1.0.0.0"` |
|
|
| `ComVisible` | `false` |
|
|
| `Guid` | `"5f8e95eb-e89c-4fdc-9bde-3e78dd56ad6f"` |
|
|
|
|
---
|
|
|
|
## 3. Invariants
|
|
|
|
- **Singleton Pattern**: The `Settings` class maintains a single synchronized instance accessible via `Settings.Default`.
|
|
- **Application-Scoped Settings**: All settings (`Monitoring`, `Interval`, `ServiceName`, `Service`) are decorated with `ApplicationScopedSettingAttribute`, meaning they are read-only at runtime and must be configured at the application level (e.g., via `app.config`).
|
|
- **Thread Safety**: The `Settings` instance is created via `ApplicationSettingsBase.Synchronized()`, providing thread-safe access to settings.
|
|
- **Sealed Class**: `Settings` is marked `sealed`, preventing inheritance.
|
|
|
|
---
|
|
|
|
## 4. Dependencies
|
|
|
|
### This Module Depends On:
|
|
- `System.Reflection` — For assembly metadata attributes
|
|
- `System.Runtime.CompilerServices` — For `CompilerGeneratedAttribute`
|
|
- `System.Runtime.InteropServices` — For `ComVisible` and `Guid` attributes
|
|
- `System.Configuration` — For `ApplicationSettingsBase`, `ApplicationScopedSettingAttribute`, `DefaultSettingValueAttribute`
|
|
- `System.Diagnostics` — For `DebuggerNonUserCodeAttribute`
|
|
- `System.CodeDom.Compiler` — For `GeneratedCodeAttribute`
|
|
|
|
### What Depends On This Module:
|
|
**Cannot be determined from source alone.** The provided files contain only configuration and assembly metadata; no consumers are visible.
|
|
|
|
---
|
|
|
|
## 5. Gotchas
|
|
|
|
- **Auto-Generated File**: `Settings.Designer.cs` is generated by `SettingsSingleFileGenerator` (version 15.1.0.0). Manual modifications will be overwritten if the settings are regenerated from the `.settings` file.
|
|
- **Missing Implementation**: The actual service logic, entry point, and business logic are not present in the provided files. The module's runtime behavior cannot be fully documented without additional source files.
|
|
- **Empty AssemblyDescription**: The assembly description attribute is empty, which may indicate incomplete documentation at the assembly level.
|
|
- **Copyright Date**: The `AssemblyCopyright` attribute contains "2017", which may be outdated relative to current development. |