AuditService

The application has a class AuditService. Through the class AuditService implemented API calls:

  • the class that inherits from the interface IAudit, if the audit is not in a separate service.
  • audit service AuditWinService.

AuditService stores the application configuration audit, where they are loaded in the beginning of the application.

When performing potentially audited operations service data the application informs the class AuditService that:

  • scans the existing configuration audit and decides on the need to implement audit records.
  • if auditing is required, then an appropriate message is either IAudit, if there is no separate audit service or AuditWinService (waiting for a response will depend on the settings of the audit).

The class implements the interface AuditService IAuditService, and also has a static field of type IAuditService where will be recorded the instance of a class AuditService (this will allow to work both with a static class through the reference «AuditService.CurrentAuditService»). All calls are made via an interface (if there is a need, the class Audit easy to replace).

IAudit

IAudit is an interface for you to organize the logic of the audit (that is, the class that implements this interface will be responsible for recording audit information and proofreading).

AuditWinService

AuditWinService is a service through which it is possible to record audit data.

AsyncAuditController

AsyncAuditController class, organizing asynchronous access IAudit that allows you to defer for some time the recording of data on audit (“‘is not currently in use”’).

RemoteAuditController (ServiceAuditController)

RemoteAuditController (ServiceAuditController) class responsible for the interaction through wcf win service audit AuditWinService associated with the wcf service, which implements the interface IAuditWcfServiceLibrary.

interaction Scheme

interaction pattern of the component audit without a single audit service

Image

Scheme of interaction between a component of an audit when there is a distinct audit service

Image

interaction pattern of the component audit

Image