NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

Creating Configuration Files

The NGWS runtime configuration system allows administrators and developers to configure those aspects of an application that are either specific to the deployment environment, or can logically be changed after the application was built. By default, all information that the runtime needs to locate, load, and execute an application is available either implicitly (e.g., the location where you started the application establishes the default search path) or within the manifest for each assembly that's loaded as a part of that application. For example, by default, each assembly binds to the versions of its dependencies it was compiled with as specified in its manifest. A configuration file can be used to change these default settings.

It is important that you understand that configuration only applies at the application level. For example, it is not possible to configure a specific assembly to use a specific version of a dependent assembly on an assembly-by-assembly basis The configuration files apply to all assembly binding done in the scope of a single application.

A typical example of configuration data is security policy. When building an assembly, a developer specifies the set of permissions that are required for the code to run. However, the decision of whether to grant the assembly the requested permissions is up to the administrator who creates a configuration file, and is made independent of when the assembly was built.

In this release, an administrator will be able to configure a) security policy, at both the machine and user level; b) application behavior; and c) runtime behavior. In addition, a developer or support engineer will also be able to configure various runtime settings in order to debug problems.

When the runtime is installed, there are defaults for all of these settings so that an administrator does not have to take any specific action to configure the system to run applications. The following sections provide the details on how to configure the various aspects of the runtime and applications that target the runtime.

Note that some of the configuration information can be provided programmatically using the System.Configuration.ConfigurationManager namespace. For more information, see System.Configuration in the reference section.