Configuring Applications MacDonald Ch. 9 MIS 424 MIS 424 Professor Sandvig Professor Sandvig.
-
date post
20-Dec-2015 -
Category
Documents
-
view
221 -
download
0
Transcript of Configuring Applications MacDonald Ch. 9 MIS 424 MIS 424 Professor Sandvig Professor Sandvig.
Configuring ApplicationsConfiguring ApplicationsMacDonald Ch. 9MacDonald Ch. 9
MIS 424
Professor Sandvig
TodayToday
1.1. Why Applications?Why Applications?2.2. IISIIS
Role in handing a requestRole in handing a request
3.3. .NET.NET ApplicationsApplications Application Object Application Object Global.asaxGlobal.asax
4.4. Configuration filesConfiguration files Machine.configMachine.config Web.ConfigWeb.Config
Why Applications?Why Applications?
Dark ages (pre-2003)Dark ages (pre-2003) Server crashes not unusualServer crashes not unusual
Single failure bring down whole systemSingle failure bring down whole system Worse yet:Worse yet:
Memory leaksMemory leaks Cause IIS hangCause IIS hang Stop serving pagesStop serving pages
Required manual interventionRequired manual intervention(reboot)(reboot)
Why ApplicationsWhy Applications
Today (Windows Server 2003 & later)Today (Windows Server 2003 & later) Applications still crashApplications still crash
Applications are compartmentalizedApplications are compartmentalized
OS handles gracefullyOS handles gracefully System rarely affectedSystem rarely affected OS monitors application healthOS monitors application health
Recycles unhealthy processesRecycles unhealthy processes Result: system stable & reliableResult: system stable & reliable
IIS ApplicationsIIS Applications
Folders may be configured as “Applications”Folders may be configured as “Applications” IIS configuration interfaceIIS configuration interface Each application is assigned to an Application PoolEach application is assigned to an Application Pool
Each application pool has a unique Windows processEach application pool has a unique Windows process Specify error handling, timeouts, etc. for each applicationSpecify error handling, timeouts, etc. for each application
Benefit:Benefit: Compartmentalize applicationsCompartmentalize applications Reduces dependenciesReduces dependencies
Improves reliabilityImproves reliability Allows application specific settingsAllows application specific settings
Error handling, log files, filters, headers, timeouts…Error handling, log files, filters, headers, timeouts… 100’s of settings100’s of settings
Applications SettingsApplications Settings
Configuration settings:Configuration settings: Web.configWeb.config
Application level settingsApplication level settings
Located in root folderLocated in root folder Machine.configMachine.config
Settings common to all applicationsSettings common to all applications
Application event handlersApplication event handlers Global.asax fileGlobal.asax file
Located in root folderLocated in root folder
ASP.NET ConfigurationASP.NET Configuration
.config files.config files Hierarchical configurationHierarchical configuration Similar to CSS Similar to CSS
InheritanceInheritanceChild has precedence over parentChild has precedence over parent
Machine.configMachine.config Rarely need to modifyRarely need to modify
Web.ConfigWeb.Config
XML fileXML file Case sensitiveCase sensitive Camel casingCamel casing
Configure:Configure: Application settingsApplication settings Error handlingError handling TimeoutsTimeouts Sessions…etc. etc.Sessions…etc. etc. AuthenticationAuthentication documentation
SecuritySecurity .config files not served.config files not served
Global.asaxGlobal.asax
Handles application & session Handles application & session eventsevents 15+ events 15+ events Application_startApplication_start Application_errorApplication_error Session_startSession_start
Located in root folder of applicationLocated in root folder of application
Triggered each page requestTriggered each page request
OptionalOptional
Global.asaxGlobal.asax
Example:Example: Create new application on serverCreate new application on server web.config: sourceweb.config: source global.asax: sourceglobal.asax: source TestPage.aspx: source, outputTestPage.aspx: source, output
SummarySummary
Configuration Objectives:Configuration Objectives: FlexibilityFlexibility SecuritySecurity ReliabilityReliability ConvenienceConvenience
IIS IIS Handles requestsHandles requests
ApplicationApplication Application objectApplication object Events: global.asaxEvents: global.asax
ConfigurationConfiguration Machine.configMachine.config Web.configWeb.config