Dependency Injection
While you're building your classes for automatic discovery, many of these classes will require access to the core's internal services.
If your class depends on one of our services, all you have to do is add it to your constructor and an instance will be passed in that you can work with.
The following services are available for insertion into your constructors:
ILogManager
Create your own named logger. Log entries will appear in the application log file and will be prefixed with the name of the logger for ease of reading.IServerApplicationPaths
Contains a list of various application data pathsIServerConfigurationManager
Read and write server configuration data (and the above app paths)IJsonSerializer
Get access to the core's json serializer.IXmlSerializer
Get access to the core's xml serializer.ITaskManager
Queue, execute and cancel scheduled tasksILibraryManager
Get information about the media library in a user-less fashionIUserManager
Get information about each user as well as their customized media librariesILocalizationManager
Get lists of countries, localized display strings, parental ratings, etc.INetworkManager
Get information about the user's computer networkIZipClient
Unzip files and streamsIDtoService
Create dto's from domain objectsINotificationManager
Add entries to a user's notifications inbox