Namespace LemonEdge.API.Core.Storage
Classes
DirectStorageManager
Retrieves storage types directly from the IStorageServiceFactory
This class is intended to be used with clients directly connected to a database or for service applications
DocumentStorageServiceFactory
StorageContext
StorageManagerAttribute
An attribute to be marked against any IStorageService implementation so the system knows how to configure them from the StorageType config setting
If this attribute is not marked against the implementation the system can not use it from the StorageServiceFactory and can not be configrued to use it from the config settings
The system provided storage managers have keys of Azure and Local.StorageServiceFactory
StorageServiceRepository
StoresDocumentsAttribute
Tag a concrete IDocumentStorageService with this tag to make it available to the system for fetching and saving documents. IDocumentStorageService
Interfaces
IDocumentStorageService
The contact for fetching and saving documents. To implement a new mechanism, be sure to inherit this interface and also, mark the concrete type with StoresDocumentsAttribute, which should have a unique key. Also, ensure you have a config section like this in the application: "DocumentStorageSettings": { "Selected": "{Your Attribute Key}", "Available": [ { "Key": "{Your Attribute Key}", "ConnectionString": "{your connection string}", "ContainerName": "{the container}" }, { "Key": "AzureFileShare", "ConnectionString": "...", "ContainerName": "..." } ]
IDocumentStorageServiceFactory
The factory that manages creation of IDocumentStorageServices. IDocumentStorageService.
IStorageContext
Contains service factories for interacting with different storage devices.
IStorageManager
IStorageServiceFactory
The factory the system uses to retrieve an IStorageService implementation according to the StorageType config settings
IStorageServiceRepository
Responsible for aggregating all registered storage types