ASP.NET Request Processing Internals
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

ASP.NET Request Processing Internals

on

  • 7,114 views

ASP.NET Request Processing Overview. Presented at Microsoft User Group Hyderabad Community Meet !

ASP.NET Request Processing Overview. Presented at Microsoft User Group Hyderabad Community Meet !

Statistics

Views

Total Views
7,114
Views on SlideShare
5,402
Embed Views
1,712

Actions

Likes
2
Downloads
267
Comments
0

5 Embeds 1,712

http://abhijitjana.net 1704
url_unknown 5
http://static.slideshare.net 1
http://paper.li 1
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

ASP.NET Request Processing Internals Presentation Transcript

  • 1. ASP.NET Request Processing Internals
    Abhijit Jana
    Consultant | Microsoft
    http://abhijitjana.net
  • 2. Agenda
    Role of Web Server
    ASP.NET Request Processing Internals
    Internal of Web Server
    Request Processing
    Request Pipeline
    Page Life Cycle
  • 3. Getting Started
    • Visual Studio IDE has it own Integrated ASP.NET Runtime
    • 4. ASP.NET Development Server
    • 5. WebDev.WebServer20.exe ( CLR 2.0 )
    • 6. WebDev.WebServer40.exe (CLR 4.0 )
    • 7. ASP.NET Development Server Runs on Specific Port
  • Demo
  • 8. Moving to IIS
    Process Request
    (w3wp.exe)
    Request
    Response
  • 9. Key Concept
    Application Pool
    Worker Process
    Web Farm
    Web Garden
    IIS
    Application Pool
    Application Pool
    Application Pool
    Worker Process
    Worker Process
    Worker Process
    w3wp
    Web Application 1
    Web Application 2
    Web Application 3
    Web Application 4
  • 10. Application Pool and HTTP.SYS
    IIS
    Application Pool
    Application Pool
    Application Pool
    W3wp.exe
    W3wp.exe
    W3wp.exe
    HTTP.SYS
    ApplicationHost.Config
  • 11. Demo
  • 12. Protocol Listener [ HTTP.SYS ]
    Protocol Listener is the part of Kernel Level of IIS
    Protocol listeners receive protocol-specific requests
    send them to IIS for processing
    return responses to requestors
    It the Kernel mode Protocol stack which listens to the HTTP and HTTPSRequest
    Kernel-mode caching
    Kernel Mode Queuing
  • 13. WWW service and WAS
    Part of User Level of IIS
    World Wide Web Publishing Service (WWW service) and Windows Process Activation Service (WAS) run as Local System in the same Svchost.exe process
    Performance Monitoring
    Processing Monitoring
    Configuration Management
    Svchost.exe
    Windows Process Activation Service (WAS)
    World Wide Web Publishing Service (WWW service)
    HTTP.SYS
  • 14. Overall View Of IIS
    Application Pool
    ApplicationHost.Config
    Svchost.exe
    World Wide Web Publishing Service (WWW service)
    Windows Process Activation Service (WAS)
    HTTP.SYS
  • 15. Looking bit Inside of Request Processing
    HTTP Module
    HTTP Module
    IIS
    HTTP Module
    Application Pool
    Application Pool
    Svchost.exe
    Application Pool
    W3wp.exe
    W3wp.exe
    W3wp.exe
    WWW service
    WAS
    HTTP Module
    HTTP Module
    HTTP.SYS
    HTTP Handler
    HTTP Handler
  • 16. Request Processing Continue..
    • Client Send a Request, HTTP.sys intercepts the request.
    • 17. HTTP.sys Interacts with WWW Publishing Services and sync with the related configuration stored in applicationHost.config.
    • 18. The WWW Service receives configuration like application pool, virtual directory, site details from applcationHost.config
    • 19. WWW Publishing Services gets the request from Http.Sys and passed to WAS
    • 20. WAS starts a worker process for the application pool associated with the request was made.
    • 21. Workerprocess execute ASP.NET Internals operations
    • 22. The worker process processes returns a response to HTTP.sys.
    • 23. The client receives a response from Server.
  • Inside Worker Process (w3wp.exe)
    HTTP Module
    W3wp.exe
    HTTP Module
    aspnet_isapi.dll
    HTTP Module
    .NET Runtime
    Http Application
    HTTP Module
    HTTPRuntime
    HTTP Module
    HTTPProcessRequest
    HTTP Handler
    HTTP Handler
    HTTPContext
    HTTP Application
    HTTP ApplicationFactory
  • 24. Demo
  • 25. Inside Worker Process (w3wp.exe) cond..
    W3wp.exe
    Web Server Core
    Modules
    BeginRequest
    BasicAuthenticationModule
    Authentication
    HttpCacheModule
    Authorization
    StaticCompressionModule
    Cache Resolution
    DynamicStaticCompressionModule
    Handler
    URL Authorization
    Release State
    Tracing
    Update Log
    HTTP Error
    End Request Processing
    HTTP Logging
  • 26. HTTP Pipeline
    • Modules are individual features that the server uses to process requests
    • 27. Plug-in / out modules you want on the server or Application Specific.
    • 28. customize a server to a specific role in your environment.
    • 29. custom modules to replace existing modules or to introduce new features based on application on server specific
    • 30. Content Module ( IsapiFilter ,IsapiFilterModule )
    • 31. Security Module (BasicAuthenticationModule )
    • 32. Caching Module ( HttpCacheModule)
    • 33. Compression Module ( StaticCompressionModule )
    HTTP Module
    HTTP Module
    HTTP Module
    HTTP Module
    HTTP Module
    HTTP Handler
    HTTP Handler
  • 34. ASP.NET Routing
    W3wp.exe
    Web Server Core
    BeginRequest
    Authentication
    Routing Module
    Authorization
    Cache Resolution
    Handler
    IHandler
    Release State
    Update Log
    End Request Processing
  • 35. Once done with HTTP Pipeline
    Page_PreInit
    Page_Init
    ASP.NET Page Life Cycle
    Load View State
    Load Post Back Data
    Page_Load
    Page Post back event
    Pre Render
    Save View State
    Render
    Unload
  • 36. Summary
  • 37. Resource for further Study
    • A low-level Look at the ASP.NET Architecture
    • 38. IIS URL Rewriting and ASP.NET Routing
    • 39. IIS 7.0 Request Filtering and URL Rewriting
    • 40. Securely Implement Request Processing, Filtering, and Content Redirection with HTTP Pipelines in ASP.NET
  • Q/A
  • 41. Thank You !
    Abhijit Jana
    Blog : http://abhijitjana.net
    http://dailydotnettips.com
    Twitter : @AbhijitJana