Configuring .NET Web Applications MIS 324 -- Professor Sandvig 5/25/2019 Configuring .NET Web Applications MIS 424 Professor Sandvig
MIS 324 -- Professor Sandvig 5/25/2019 Today Why Web Applications? IIS Role in handing a request IIS Applications .NET Request Handling Global.asax Configuration files Machine.config Web.Config
MIS 324 -- Professor Sandvig 5/25/2019 Why Applications? Dark ages (pre-2003) Server crashes not unusual Single failure bring down whole system Worse yet: Memory leaks Cause IIS hang Stop serving pages Required manual intervention (reboot)
MIS 324 -- Professor Sandvig 5/25/2019 Why Applications? Today Applications still crash Applications are compartmentalized OS handles gracefully System rarely affected OS monitors application health Recycles unhealthy processes Result: system stable & reliable
MIS 324 -- Professor Sandvig 5/25/2019 IIS Applications Folders may be configured as “Applications” IIS configuration interface
IIS Applications Many configuration options
IIS Applications Each application is assigned to an Application Pool
IIS Application Pools Each application pool has a unique Windows process Specify error handling, timeouts, etc. for each
MIS 324 -- Professor Sandvig 5/25/2019 Request Handling https://yorktown.cbe.wwu.edu/students/174/csandvig/music/index Source: https://codeteddy.com/2013/08/19/mvc3-interview-questions-and-answers/
.NET Application When URL points to IIS Application IIS passes request to .NET .NET checks configuration files: Located in root folder global.asax Application event handler web.config Application configuration settings
MIS 324 -- Professor Sandvig 5/25/2019 Global.asax Handles application & session events 15+ events Application_start Application_error Session_start Located in root folder of application Triggered each page request
MIS 324 -- Professor Sandvig 5/25/2019 Global.asax Configures MVC application: public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
MIS 324 -- Professor Sandvig 5/25/2019 web.config Located in root folder XML format Many settings: Connection strings Authentication Debugging .NET version Exception handling Timeouts Others…
.Net Application Example MIS 324 -- Professor Sandvig 5/25/2019 .Net Application Example Example: Create new application on server
MIS 324 -- Professor Sandvig 5/25/2019 Summary Application Objectives: Reliability Convenient Configuration Flexibility Security IIS Handles requests Passes to .NET MVC Configuration Global.asax Web.config