InMemoryLoader is a function or class library written in C# (Mono) that enables dynamic loading of .NET assemblies at runtime.
Release notes
The “InMemoryLoader” project arose from a requirement or idea to develop a web framework for business applications that was as modular as possible. A wide variety of technologies (ASP websites, SAP services, web services, CMS systems, different databases) had to be combined or data from these systems had to be combined in one application.
To ensure that the individual applications remained modular, lean and easy to maintain, the individual components had to be divided into individual modules. The individual modules had to be linked or combinable, which is why a module was developed that enables administration, registration and execution.
The components must implement an interface, whereupon the initialization method checks and enters all public methods in a kind of “registry” so that they are completely preserved in the context of the application at runtime.
This makes very efficient applications possible without fixed references, meaning the project can be kept much leaner and more efficient. In addition, functionality can be easily added at runtime and thus massively shorten the startup time of applications.
Another advantage is that different function containers can be created.
In an application, the user's role can first be queried and then the corresponding library/components can be dynamically reloaded. This not only increases performance, but the functions are also only available in the respective context, making the applications more secure.
Component with interfaces and abstract classes that must be used to implement InMemoryLoader applications. Serves for initialization and instantiation, otherwise does not contain any necessary functions.
InMemoryLoaderBase WIKI
The core of an InMemoryLoader application contains all the methods and properties needed to build it.
InMemoryLoader WIKI
Extension that includes additional features such as an async wrapper, crypt tools, string utilities and converters. NOT absolutely necessary!
InMemoryLoaderCommon WIKI