Settings and Properties
Settings
Settings are configuration elements in the application environment or the application hosting environment that control either the behavior of the application or the runtime environment. In the Distributed System Designers, the application environment is modeled using the Application Designer and System Designer; the application hosting environment is modeled using the Logical Datacenter Designer. Settings associated with each environment, or layer, are edited using the Settings and Constraints Editor.
Web.config settings are an example of application layer settings. Initially, these settings reflect the default settings on the development machine. If you modify one of these settings in the Settings and Constraints Editor, your change is reflected in the web.config files in your solution. Settings are persisted in the .sdm file or within web.config. Configuration settings are persisted in both locations for implemented applications.
Note
Visual Studio saves predefined settings and custom settings as plain text (unencrypted) in System Definition Model (SDM) documents such as distributed system diagram (.ad, .ldd, and .sd) files, application definition (.sdm) files, and custom prototype (.adprototype and .lddprototype) files. For more information, see Overview of the System Definition Model (SDM) and Extending Distributed System Designers. For certain settings, Visual Studio display masked versions in parts of Distributed System Designers and does not save them in .sdm or .ad files. When you implement an application or for an implemented application, Visual Studio writes these settings as plain text (unencrypted) to an application's configuration file. Visual Studio displays a security warning when it writes these settings in plan text to the configuration file. In addition, these settings might also appear in plain text when you edit them in the Settings and Constraints Editor or in the ComplexSetting Collection Editor that opens from the Settings and Constraints Editor. Visual Studio displays masked versions of these settings where noted. For a list of these settings, see Considerations for Implementing Applications and How to: Specify Web.config Settings. In general, avoid storing sensitive, confidential, or proprietary data in settings where masked versions do not appear and be aware of this consideration prior to distributing these files.
Custom Settings
Custom settings are a mechanism you can use to provide additional metadata needed to accurately model your development or deployment environment. You can create custom settings for applications, logical servers, endpoints, and zones. When creating these settings, you have the option to display them in the Properties window. Custom settings can also be used in custom deployment scripts because they are captured in the deployment report, or they might be a means of recording information about the runtime configuration. For more information, see How to: Create Custom Settings for Applications, Servers, Endpoints, and Zones. Unlike regular settings, custom settings cannot be used to create constraints. For more information, see Constraining Application and Application Hosting Relationships.
Settings versus Properties
Settings and properties are sometimes confused with one another, but they are functionally quite different. As a general rule, properties are attributes that affect the design experience (for example, development language), while settings are specific values that affect configuration (for example, authentication protocol). Examples of properties include the application namespace, version, and language used to generate code for an application. Examples of settings include IIS Application Pool settings and ASP.NET settings.
With the exception of custom settings, settings are not displayed in the Properties window for any of the application and logical server prototypes provided with the Distributed System Designers. You can access the Settings and Constraints Editor from the Properties window, however, by clicking the ellipsis adjacent to the Settings and Constraints property.
See Also
Tasks
How to: Create Custom Settings for Applications, Servers, Endpoints, and Zones