Files
DP44/docs/ai/Common/DTS.Common.DBSyncService/Properties.md

86 lines
3.0 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.Common.DBSyncService/Properties/AssemblyInfo.cs
- Common/DTS.Common.DBSyncService/Properties/Settings.Designer.cs
generated_at: "2026-04-17T16:36:20.363880+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "dc85acc67b289cb1"
---
# Documentation: DTS.Common.DBSyncService
## 1. Purpose
This module provides configuration and assembly metadata for the DTS Database Synchronization Service, a Windows service component. It defines application-level settings that control service behavior, including monitoring enablement, execution interval, and service identification. The module serves as the configuration layer for a database synchronization service that appears to operate on a timed interval basis.
---
## 2. Public Interface
### `DTS.Common.DBSyncService.Properties.Settings`
An internal sealed partial class that provides strongly-typed access to application configuration settings. Inherits from `global::System.Configuration.ApplicationSettingsBase`.
#### Static Property: `Default`
```csharp
public static Settings Default { get; }
```
Returns the singleton instance of the `Settings` class, synchronized for thread-safe access.
#### Property: `Monitoring`
```csharp
public bool Monitoring { get; }
```
Application-scoped setting indicating whether monitoring is enabled. Default value: `False`.
#### Property: `Interval`
```csharp
public int Interval { get; }
```
Application-scoped setting defining the execution interval. Default value: `60000` (presumed milliseconds, equating to 60 seconds).
#### Property: `ServiceName`
```csharp
public string ServiceName { get; }
```
Application-scoped setting for the service display name. Default value: `"DTS DB Sync Service"`.
#### Property: `Service`
```csharp
public string Service { get; }
```
Application-scoped setting for the service identifier. Default value: `"DB Sync Service"`.
---
## 3. Invariants
- **Singleton Pattern**: The `Settings` class maintains exactly one synchronized instance accessible via `Settings.Default`.
- **Application-Scoped Settings**: All four settings (`Monitoring`, `Interval`, `ServiceName`, `Service`) are application-scoped, meaning they are read-only at runtime and must be configured at the application level (e.g., via `app.config` or `web.config`).
- **COM Visibility**: All types in this assembly are not visible to COM components (`ComVisible(false)`).
- **Assembly Identity**: The assembly GUID `5f8e95eb-e89c-4fdc-9bde-3e78dd56ad6f` uniquely identifies this assembly's type library if exposed to COM.
---
## 4. Dependencies
### This module depends on:
- `System.Reflection` - For assembly metadata attributes
- `System.Runtime.CompilerServices` - For compiler-generated attributes
- `System.Runtime.InteropServices` - For COM interop attributes (`ComVisible`, `Guid`)
- `System.Configuration` - For `ApplicationSettingsBase` base class and configuration attributes
- `System.Diagnostics` - For `DebuggerNonUserCodeAttribute`
### What depends on this module:
- **Cannot be determined from source alone.** The consuming components would be