Skip to content

Dependencies

Logging depends on the WCF client framework to compile, on the external WSLogging service to function at runtime, and on SAIF.Services.WebApi.EnvironmentApi, which reaches SAIF.Services.Web.Proxies — documented at SAIF.Services.Web.Proxies overview — through a binary reference rather than a project reference.

Internal dependencies

Project In this repository Purpose Usage
SAIF.Services.Web.Proxies Yes Owns the generated proxy and the LoggingServiceProxy wrapper Hosts clsWSLoggingSoapClient and LoggingServiceProxy, invoked from EnvironmentApi
SAIF.Services.WebApi.EnvironmentApi Yes Consumes the wrapper through SAIFExceptionLogger, referenced via a binary HintPath to ..\..\..\Bin\SAIF.Services.Web.Proxies.dll rather than a project reference — see Tech debt SAIFExceptionLogger.Log constructs LoggingServiceProxy and calls LogException for every unhandled Web API exception

External dependencies

Framework components

Component Assembly Purpose Usage
System.ServiceModel System.ServiceModel.dll Supplies ClientBase<T>, BasicHttpBinding, and EndpointAddress used by the generated proxy and the wrapper Used at proxy construction in LoggingServiceProxy.cs:17-20 and by the generated clsWSLoggingSoapClient base type
System.Web.Http.ExceptionHandling ASP.NET Web API framework Supplies ExceptionLogger, the base class SAIFExceptionLogger extends Used to register SAIFExceptionLogger as the global IExceptionLogger in WebApiConfig.cs:14

NuGet packages

This proxy requires no NuGet package; it depends only on framework assemblies.

Assembly references outside the package system

Assembly HintPath In source control Purpose Usage
SAIF.Services.Web.Proxies.dll ..\..\..\Bin\SAIF.Services.Web.Proxies.dll Not determined from source Supplies LoggingServiceProxy to EnvironmentApi without a project reference or package restore Referenced by EnvironmentApi.csproj:54-55 so SAIFExceptionLogger can construct LoggingServiceProxy at runtime

Transitive dependencies

No transitive dependency is evidenced from source.

Service dependencies

Service Endpoint Documented by this run Documentation Operations used Usage
WSLogging http://saifonline/WebServices/WSLogging/clsWSLogging.asmx No WSLogging† WriteError Called once per unhandled Web API exception by LoggingServiceProxy.LogException

Configuration dependencies

Setting Source Required at Usage
appSettings/loggingServiceUrl Services/SAIF.Services.WebApi/EnvironmentApi/Web.config:8 First call No Web.Debug.config/Web.Release.config transform overrides it; read by SAIFExceptionLogger.cs:40-43 and passed as the serviceUrl constructor argument to LoggingServiceProxy

Dependency risks and notes

Dependency Risk Impact if unavailable Usage
WSLogging No retry, no timeout override, and no disposal at the only call site; failures are swallowed by a bare catch { } Error logging silently stops recording exceptions with no operator-visible signal Called via WriteError from LoggingServiceProxy.LogException, invoked once per unhandled Web API exception
SAIF.Services.Web.Proxies.dll (HintPath) Not restored by a package manager and invisible to dependency scanning The binary consumed by EnvironmentApi can drift from the source in this repository without detection Loaded by EnvironmentApi at runtime to construct LoggingServiceProxy

Note: Statements marked with † are derived from dependency library documentation via the Legends CLI.

Sources

  • Services/SAIF.Services.Web.Proxies/SAIF.Services.Web.Proxies.csproj
  • Services/SAIF.Services.Web.Proxies/app.config
  • Services/SAIF.Services.WebApi/EnvironmentApi/EnvironmentApi.csproj
  • Services/SAIF.Services.WebApi/EnvironmentApi/Web.config
  • Services/SAIF.Services.Web.Proxies/Service References/Logging/clsWSLogging.wsdl