What Does Application Base Mean?
The application base is the directory, which contains all the files related to a .NET application, including the executable file (.exe) that loads into the initial or default application domain.
The application base is the root directory containing the application. To satisfy a type request, the runtime uses this value to search for the assembly containing the required type. The application base is the directory from where the assembly manager starts probing for assemblies. In case of web-based applications, the application base is the root of the website. If a configuration file is specified for the application, the application base is the location of the configuration file, which stores the configuration details of the code running in the application domain. For a system with more than one website, the application base is the default site defined on port 80.
The application base is also known as an application folder or application directory. It is also used to control the application domains’ access to other applications.
Techopedia Explains Application Base
The process used by the runtime to search for dependent assemblies for both web-based and non-web-based applications is the same. The runtime uses paths relative to the application base for searching.
Sometimes, it is essential to create customized environments for applications to be executed with restricted permissions, which reduces the risks associated with security vulnerabilities. In such cases, application domains can be created and configured programmatically with the required security options. While creating such custom application domains, the ApplicationSetup class is used to specify the application base property along with other parameters.
Application base is an important property of the AppDomainSetup class used to fetch or update the name of the directory containing the application. For a newly-created application domain, the ApplicationBase value is the same as that of its creator. The ApplicationBase property is the same type as System.String and is included in the namespace, System and assembly, and mscorlib.dll.
The permissions granted to an application domain, in which an application is executed, depends on the value of the application base. For example, although an application domain is created by a local computer, if the application base property is set to an intranet directory, the permissions given to the application domain will be restricted to Local Intranet and influence the permissions granted to it. Therefore, the value of the ApplicationBase property has to be set correctly to avoid errors.