---
title: Dependencies
summary: Packages, framework components, projects, and remote services this proxy depends on.
status: draft
owner: SAIF.Core documentation
last_reviewed: 2026-09-24
---

# Dependencies

`DbConnection` depends on the WCF client framework to compile, on the external `ConnectInfo` service to function at runtime, and on `SAIF.Services.Common` and `SAIF.Services.Web.Proxies` — a library consumed by [`SAIF.Services.Web.Proxies` overview](../../libraries/saif-services-web-proxies/overview.md) — as its in-repository callers.

## Internal dependencies

| Project | In this repository | Purpose | Usage |
| --- | --- | --- | --- |
| `SAIF.Services.Web.Proxies` | Yes | Owns the generated proxy and the `DbConnectionServiceProxy` wrapper | Compiled reference for the generated proxy and the hand-written wrapper class |
| `SAIF.Services.Common` | Yes | Consumes the wrapper through `DbConnectionService` | Instantiates `DbConnectionServiceProxy` in `DbConnectionService`'s constructor |
| `Core/SAIF.Core` | Yes | Declares the `IDbConnectionService` contract implemented by `DbConnectionService` | Contract type implemented by `DbConnectionService`; consumers depend on this interface, not the proxy directly |

## External dependencies

| Component | Assembly | Purpose | Usage |
| --- | --- | --- | --- |
| `System.ServiceModel` | `System.ServiceModel.dll` | Supplies `ClientBase<T>`, `BasicHttpBinding`, and `EndpointAddress` used by the generated proxy and the wrapper | Compiled reference for the generated `ConnectInfoSoapClient` and for `DbConnectionServiceProxy`'s explicit binding/address construction |

This proxy requires no NuGet package; it depends only on framework assemblies. No assembly is referenced outside the package system.

## Transitive dependencies

No transitive dependency is evidenced from source.

## Service dependencies

| Service | Endpoint | Documented by this run | Documentation | Operations used | Usage |
| --- | --- | --- | --- | --- | --- |
| `ConnectInfo` | Unresolved from repository configuration** | No | `ConnectInfo`† | [`GetODPConnectString`](reference.md#getodpconnectstring), [`GetSQLConnectString`](reference.md#getsqlconnectstring) | Resolves Oracle and SQL Server connection strings at runtime for `DbConnectionService.GetConnectionString` |

## Configuration dependencies

| Setting | Source | Required at | Notes | Usage |
| --- | --- | --- | --- | --- |
| `dbconnectionserviceurl` | Read via `IEnvironmentService.GetConfigSetting`, `Services/SAIF.Services.Common/DbConnectionService.cs:21` | First call | Value is unresolved from repository configuration** | Supplies the `EndpointAddress` passed to `DbConnectionServiceProxy`'s constructor for the generated `ConnectInfoSoapClient` |

## Dependency risks and notes

| Dependency | Risk | Impact if unavailable | Usage |
| --- | --- | --- | --- |
| `ConnectInfo` | No retry, no timeout override, and no circuit breaking at either call site | Any resolution of an Oracle or SQL Server connection string fails, and the exception propagates unhandled to the calling code | Called by `DbConnectionService.GetConnectionString` through `DbConnectionServiceProxy` for every Oracle/SQL Server connection-string resolution |

## Related documentation
- [Client index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Contract](contract.md)
- [Operation map](operation-map.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- [Business rules](business-rules.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- `Services/SAIF.Services.Web.Proxies/SAIF.Services.Web.Proxies.csproj`
- `Services/SAIF.Services.Common/DbConnectionService.cs`
- `Core/SAIF.Core/Services/IDbConnectionService.cs`
