What Does Hosting Mean?

Hosting refers to the act of loading and controlling the execution of one or more software components. In this chapter, we're going to assume the unit of software component is the assembly (after all, that's the unit to which security trust levels are assigned). We're also going to restrict ourselves to looking at hosting one or more assemblies within a single process (as we'll see, this is made secure and feasible by the nature of the .NET Framework).

Think of a host as a container for other programs, as depicted in Figure 10.1.

Figure 10.1. Hosting assemblies within a process.


Furthermore, the host typically allows components to be dynamically loaded and unloaded within this container. The security responsibilities of the host are two-fold:

  • Protect the outside world (that is, other processes and the machine itself) from any malicious (or for that matter, accidental) damage from the various components loaded.

  • Protect the hosted components from each other—isolate the components. This may be at the level of single components or might involve groups of components for discrete applications.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.149.237.26