SlideShare a Scribd company logo
Things that Every ASP.NET
Developer should know


Darren Sim
Microsoft MVP (ASP.NET / IIS)
Member, Microsoft Developer Guidance Web Advisory Council
Director, Singapore Software Quality Testing Board (SGTQB)
AGENDA

HTTP and Web Server Fundamentals

Debugging and Analysis Tools

Development Techniques

Patterns & Practices
AGENDA

HTTP and Web Server Fundamentals

Debugging and Analysis Tools

Development Techniques

Patterns & Practices
Fundamentals

•   Internet is based on TCP/IP


•   World Wide Web is based on HTTP
    – HTTP based on Request/Response paradigm
    – Header and body
    – Stateless
    – Specification @ http://www.ietf.org/rfc/rfc2068.txt
Http Request

GET http://localhost:99/default.aspx HTTP/1.1
Accept: */*
Accept-Language: en-us
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET
  CLR 3.0.04506; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.5.21022)
Host: localhost:99
Proxy-Connection: Keep-Alive
Pragma: no-cache
Http Response

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.0
X-AspNet-Version: 2.0.50727                                             Header
X-Powered-By: ASP.NET
Date: Sun, 07 Mar 2010 19:22:19 GMT
Content-Length: 686

<head><title> Home Page </title></head>
<body class="basic">
   <form name="form1" method="post" action="default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwULLTE0MDkxNzYwNDNkZKn1tb3qjzVWNrSAgGULkE4nvHPg" />
</div>                                                                  Body
   <div style="background-color:Blue">
      <h3>Home</h3>
   </div>
   </form>
</body>
</html>
How we connect to the internet?




                    ISP
IIS Architecture

                    Configuration              Application Pool

  SvcHost.exe                                     w3wp.exe

         WWW          Windows
       Publishing      Process
         Service      Activation
        (W3SVC)     Service (WAS)

User Mode
Kernel Mode

                                    HTTP.sys
Configuration File


                                                 Site               Application
   Machine.config            Root web.config
                                               web.config           web.config
                                                <system.Web>         <system.Web>



    Applicationhost.config
                                               <system.webServer>   <system.webServer>




*Web.config has a 100Kb file size limit.
AGENDA

HTTP and Web Server Fundamentals

Debugging and Analysis Tools

Development Techniques

Patterns & Practices
AGENDA

HTTP and Web Server Fundamentals

Debugging and Analysis Tools

Development Techniques

Patterns & Practices
Fiddler

•   Tracing tool specifically for HTTP
•   Shows complete request and response (not packets)
•   Can save archive of session
•   Can be used on own machine (ipv4.fiddler, ipv6.fiddler)
•   Can create own GET requests
•   Can decrypt SSL traffic!
Microsoft Network Monitor

•   General network tracing tool for many protocols
•   Hooks into network adapters
•   See network frames at multiple levels
•   Apply filters for specific protocols, IP addresses, etc


Free download at http://www.microsoft.com/downloads/en/details.aspx?FamilyID=983b941d-06cb-
4658-b7f6-3088333d062f&displaylang=en
IIS Log Files

•   Time Taken (execute, queue, and time to client – IIS 7/6)
•   Sub-status codes are very useful for indicating the exact problems
•   Log entries are made AFTER the page execution is complete
•   Log file entries are always in GMT
•   Setup cookie, referrer, bytes sent
Log Parser

•   Utility to query IIS log files, event logs, etc
•   Query syntax nearly identical to SQL
•   Write series of queries for site health (HTTP status, time taken, file
    sizes, down pages, orders, etc)
•   ASP.NET Response.AppendToLog( )


Download Log Parser at http://tinyurl.com/5uoxz
AGENDA

HTTP and Web Server Fundamentals

Debugging and Analysis Tools

Development Techniques

Patterns & Practices
AGENDA

HTTP and Web Server Fundamentals

Debugging and Analysis Tools

Development Techniques

Patterns & Practices
Performance Culprits
Problem Statement

•   HTTP requests are the biggest web performance killer
•   Reduce Requests, massively improve performance
Performance Culprits
Solution

•   Combine all Javascript into one file
•   Combine all CSS into one file
•   Using MSAjax CDN instead of your own
Reduce & Avoid Requests

•   Avoid Response.Redirect
    –   Invokes an extra client side HTTP Request


•   Use Server.Transfer instead
Reduce Page Size

•   The smaller the page, the quicker the download


•   Especially important in these areas
    – Mobile Applications (Windows Mobile, IPhone, 3G Data Card)
    – Non Broadband Users
    – Many offices have less capacity than broadband
    – Developing Countries
Reduce Page Size

•   Most Browsers support HTTP Compression
    –   GZIP & Deflate
    –   IE, Firefox etc
•   Drastically reduces page size
•   Steps
    – Browser Passes Accept-Encoding in Request Header
    – Data is compressed and sent to browser
    – Browser decompresses html

•   Only GET is compressed, POST IS NOT Compressed
HTTP Compression

•   Server evaluates the “Accept-Encoding” header for request,
    compresses resulting response
•   largeGridView.aspx - 41 frames down to 7
•   Implemented in February 2003 when about 3% of Fortune 1000 web
    sites utilized
•   Used 53% less bandwidth, ~25% faster Keynote measurements
•   Now use IIS Compression (free)
HTTP Compression (cont…)

•   IIS 7
    –   Can control when to stop using if CPU usage is too high
    –   Minimum default file size is 256K
    –   Only static compression is on by default

Detailed article about enabling IIS 6 compression at http://tinyurl.com/yjdo7w
Content Expirations

•   Client asks “if-modified-since”
•   Small content files it is just as expensive to see if modified as to
    receive content
•   Setup expiration times for content folders
•   Avoid requests for files that seldom change (.js, .css, images, etc)
•   Rename the file if need to override browser caching
Ajax Minifier

•   Microsoft Ajax Minifier (Codeplex.com)
•   Minimize CSS and JavaScript files
    –   Remove whitespace, comments, excessive semicolons, etc
•   Command line, .dll, and build tasks
•   jQuery-1.4.2.js minimized 55.5%
•   Test after minimize!
•   MSBuild Extension Pack (version #)
ETags

•   Used for cache validation
•   IIS sends the ETag header in response for static files
    –   hash:changeNumber
•   IIS 6
    – changeNumber – specific to server
    – Set to 0 with Metabase Explorer, http://tinyurl.com/2agsbtc

•   IIS 7
    – changeNumber - 0 by default
    – Completely remove header with HttpModule
CSS Sprite

•   Combine small images into a single image
•   Use CSS to “index” into the larger image


•   Often 70-95% of time taken for a user is time requesting components
    (images, .css, .js)
•   Reduce the number of requests


**Free CSS Sprite generator at http://spritegen.website-performance.org/
Tracing

•   Setup ASP.NET to save information about recent requests


•   <trace enabled="true" pageOutput="false" localOnly="false"
    requestLimit="2" mostRecent="true" />


•   /Trace.axd
Tracing (code)
Trace Outputs
Analysis of Trace Output
Error Page Configurations

•   <deployment retail=”true” /> (machine.config only)
    –   <customErrors mode=”On” />
    –   <compilation debug=”false” />
    –   <tracing enabled=“false” />


•   External config files (no restart)
Global.asax Application_Error( )

•   Every ASP.NET web site should have this coded to ensure that
    unhandled exceptions are caught and logged


•   HKLMSystemCurrentControlSetServicesEventLogApplication and
    add key for source


•   Use <customErrors mode=“On” /> to redirect to a down page
Validation Controls

•   OWASP Top 10
    – XSS (Cross Site Scripting)
    – SQL Injection

•   All input from web controls needs to be verified
•   Leverage client validation for user experience but must validate on the server


•   Common validators
    –   RequiredFieldValidator
    –   RangeValidator
    –   RegularExpressionValidator
    –   CompareValidator
    –   CustomValidator
Caching

– Data caching (Cache), cut 50% of our SQL queries which was 72,080,000
  less queries each month!
– Substitution
– Output caching (shared)


–   Don’t cache page (set specific cache ability)
    • Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
Yahoo! A List Browsers
                        Win XP             Win 7            Mac 10.6.†      iOS 3.†   iOS 4.†   Android 2.2.†

Safari 5.†                                                   A-grade

Chrome † (latest
                        A-grade
stable)


                                      A-grade (upon GA   A-grade (upon GA
Firefox 4.†
                                           release)           release)


Firefox 3.6.†           A-grade           A-grade            A-grade


                                      A-grade (upon GA
IE 9.0
                                           release)

IE 8.0                  A-grade           A-grade
IE 7.0                  A-grade
IE 6.0                  A-grade

Safari for iOS                                                              A-grade   A-grade

WebKit for Android
                                                                                                  A-grade
OS



Complete list available at http://developer.yahoo.com/yui/articles/gbs/
AGENDA

HTTP and Web Server Fundamentals

Debugging and Analysis Tools

Development Techniques

Patterns & Practices
AGENDA

HTTP and Web Server Fundamentals

Debugging and Analysis Tools

Development Techniques

Patterns & Practices
Reference Model to Guide Architecture Projects
Model for Web 2.0


                     Users

          Client applications/runtimes

           Connectivity/reachability

                    Services

                  Capabilities
Basic Service-Consumer Pattern

                         Consumed
                             via
                          internet
     Service                         Client Applications

                                               Provides View

            Offered as
                                       Interface

     Capability
Landscape leading to hybrid platforms
Web 2.0 Reference Architecture (basic)
Web 2.0 Reference Architecture (detailed)
Components of a pattern (basic)
Components of a pattern (detailed)
Patterns for Web 2.0

•   The Service-Oriented Architecture Pattern
•   The Software as a Service (SaaS) Pattern
•   The Participation-Collaboration Pattern
•   The Asynchronous Particle Update Pattern
•   The Mashup Pattern
•   The Rich User Experience Pattern
Patterns for Web 2.0 (cont…)

•   The Synchronized Web Pattern
•   The Collaborative Tagging Pattern
•   The Declarative Living and Tag Gardening Pattern
•   The Semantic Web Grounding Pattern
•   The Persistent Rights Management (PRM) Pattern
•   The Structured Information Pattern
AGENDA

HTTP and Web Server Fundamentals

Debugging and Analysis Tools

Development Techniques

Patterns & Practices
AGENDA

HTTP and Web Server Fundamentals

Debugging and Analysis Tools

Development Techniques

Patterns & Practices
Resources & Readings

Performance Management
http://www.sitepoint.com/books/aspnetant1/aspnetant1-sample.pdf


ASP.NET Developer Guidance Map
http://www.darrensim.com
itsme@darrensim.com   http://www.facebook.com/darrensim   http://www.twitter.com/darrensim

More Related Content

What's hot

Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8
Dimitris Andreadis
 
Configuring CQ Security
Configuring CQ SecurityConfiguring CQ Security
Configuring CQ Security
connectwebex
 
WildFly BOF and V9 update @ Devoxx 2014
WildFly BOF and V9 update @ Devoxx 2014WildFly BOF and V9 update @ Devoxx 2014
WildFly BOF and V9 update @ Devoxx 2014
Dimitris Andreadis
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
Dimitris Andreadis
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
Dimitris Andreadis
 
Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11
Jess Coburn
 
Presentation on Instant page speed optimization
Presentation on Instant page speed optimizationPresentation on Instant page speed optimization
Presentation on Instant page speed optimization
Sanjeev Kumar Jaiswal
 
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
MongoDB
 
Tuning Web Performance
Tuning Web PerformanceTuning Web Performance
Tuning Web PerformanceEric ShangKuan
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)
Brian Culver
 
JBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionJBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the Union
Dimitris Andreadis
 
JBoss Enterprise Application Platform 6 Troubleshooting
JBoss Enterprise Application Platform 6 TroubleshootingJBoss Enterprise Application Platform 6 Troubleshooting
JBoss Enterprise Application Platform 6 Troubleshooting
Alexandre Cavalcanti
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 Performance
Brian Culver
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Server
acosdt
 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office Hours
Andrew Khoury
 
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB
 
Turn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly SwarmTurn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly Swarm
Dimitris Andreadis
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
philogb
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitMeet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web Summit
Colin Charles
 

What's hot (20)

Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8
 
Configuring CQ Security
Configuring CQ SecurityConfiguring CQ Security
Configuring CQ Security
 
WildFly BOF and V9 update @ Devoxx 2014
WildFly BOF and V9 update @ Devoxx 2014WildFly BOF and V9 update @ Devoxx 2014
WildFly BOF and V9 update @ Devoxx 2014
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
 
Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11
 
Presentation on Instant page speed optimization
Presentation on Instant page speed optimizationPresentation on Instant page speed optimization
Presentation on Instant page speed optimization
 
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
 
Tuning Web Performance
Tuning Web PerformanceTuning Web Performance
Tuning Web Performance
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)
 
JBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionJBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the Union
 
JBoss Enterprise Application Platform 6 Troubleshooting
JBoss Enterprise Application Platform 6 TroubleshootingJBoss Enterprise Application Platform 6 Troubleshooting
JBoss Enterprise Application Platform 6 Troubleshooting
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 Performance
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Server
 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office Hours
 
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
 
Turn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly SwarmTurn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly Swarm
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitMeet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web Summit
 
J boss
J bossJ boss
J boss
 

Viewers also liked

Ms Cloud Day Closing - Harish
Ms Cloud Day Closing - HarishMs Cloud Day Closing - Harish
Ms Cloud Day Closing - HarishSpiffy
 
The Trouble with Social Computing Systems Research
The Trouble with Social Computing Systems ResearchThe Trouble with Social Computing Systems Research
The Trouble with Social Computing Systems ResearchMichael Bernstein
 
Visual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeVisual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeSpiffy
 
Windows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongWindows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan Wong
Spiffy
 
Developing Applications for Windows Phone 7 - Chris Ismael
Developing Applications for Windows Phone 7 - Chris IsmaelDeveloping Applications for Windows Phone 7 - Chris Ismael
Developing Applications for Windows Phone 7 - Chris Ismael
Spiffy
 
The Windows Azure Platform: A Perspective - David Chappell
The Windows Azure Platform: A Perspective - David ChappellThe Windows Azure Platform: A Perspective - David Chappell
The Windows Azure Platform: A Perspective - David Chappell
Spiffy
 
01 server manager spiffy
01 server manager spiffy01 server manager spiffy
01 server manager spiffy
Spiffy
 

Viewers also liked (7)

Ms Cloud Day Closing - Harish
Ms Cloud Day Closing - HarishMs Cloud Day Closing - Harish
Ms Cloud Day Closing - Harish
 
The Trouble with Social Computing Systems Research
The Trouble with Social Computing Systems ResearchThe Trouble with Social Computing Systems Research
The Trouble with Social Computing Systems Research
 
Visual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeVisual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar Kakade
 
Windows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongWindows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan Wong
 
Developing Applications for Windows Phone 7 - Chris Ismael
Developing Applications for Windows Phone 7 - Chris IsmaelDeveloping Applications for Windows Phone 7 - Chris Ismael
Developing Applications for Windows Phone 7 - Chris Ismael
 
The Windows Azure Platform: A Perspective - David Chappell
The Windows Azure Platform: A Perspective - David ChappellThe Windows Azure Platform: A Perspective - David Chappell
The Windows Azure Platform: A Perspective - David Chappell
 
01 server manager spiffy
01 server manager spiffy01 server manager spiffy
01 server manager spiffy
 

Similar to CTU June 2011 - Things that Every ASP.NET Developer Should Know

Generating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesGenerating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status Codes
DeeptiJava
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT Professional
Joel Oleson
 
All About Asp Net 4 0 Hosam Kamel
All About Asp Net 4 0  Hosam KamelAll About Asp Net 4 0  Hosam Kamel
All About Asp Net 4 0 Hosam Kamel
Hosam Kamel
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!
Brian Culver
 
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
David Chou
 
Preparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software Webcast
Preparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software WebcastPreparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software Webcast
Preparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software Webcast
Joel Oleson
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
SiteGround.com
 
Dot Net Nuke Presentation
Dot Net Nuke PresentationDot Net Nuke Presentation
Dot Net Nuke Presentation
Tony Cosentino
 
IIS 6.0 and asp.net
IIS 6.0 and asp.netIIS 6.0 and asp.net
IIS 6.0 and asp.net
Rishi Kothari
 
DOTNET8.pptx
DOTNET8.pptxDOTNET8.pptx
DOTNET8.pptx
Udaiappa Ramachandran
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
Tim Morrow
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
Murthy Chintalapati
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End Performance
Chris Love
 
Harish Understanding Aspnet
Harish Understanding AspnetHarish Understanding Aspnet
Harish Understanding Aspnetrsnarayanan
 
PHP on Windows 2008
PHP on Windows 2008PHP on Windows 2008
PHP on Windows 2008
jorke
 
Asp.net performance secrets
Asp.net performance secretsAsp.net performance secrets
Asp.net performance secretsMahmoud Ghoz
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
Murthy Chintalapati
 
WSS And Share Point For Developers
WSS And Share Point For DevelopersWSS And Share Point For Developers
WSS And Share Point For Developers
Manny Siddiqui MCS, MBA, PMP
 
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Joel Oleson
 

Similar to CTU June 2011 - Things that Every ASP.NET Developer Should Know (20)

Generating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status CodesGenerating the Server Response: HTTP Status Codes
Generating the Server Response: HTTP Status Codes
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT Professional
 
All About Asp Net 4 0 Hosam Kamel
All About Asp Net 4 0  Hosam KamelAll About Asp Net 4 0  Hosam Kamel
All About Asp Net 4 0 Hosam Kamel
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!
 
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
 
Preparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software Webcast
Preparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software WebcastPreparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software Webcast
Preparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software Webcast
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
 
Dot Net Nuke Presentation
Dot Net Nuke PresentationDot Net Nuke Presentation
Dot Net Nuke Presentation
 
Web server
Web serverWeb server
Web server
 
IIS 6.0 and asp.net
IIS 6.0 and asp.netIIS 6.0 and asp.net
IIS 6.0 and asp.net
 
DOTNET8.pptx
DOTNET8.pptxDOTNET8.pptx
DOTNET8.pptx
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End Performance
 
Harish Understanding Aspnet
Harish Understanding AspnetHarish Understanding Aspnet
Harish Understanding Aspnet
 
PHP on Windows 2008
PHP on Windows 2008PHP on Windows 2008
PHP on Windows 2008
 
Asp.net performance secrets
Asp.net performance secretsAsp.net performance secrets
Asp.net performance secrets
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
WSS And Share Point For Developers
WSS And Share Point For DevelopersWSS And Share Point For Developers
WSS And Share Point For Developers
 
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
 

More from Spiffy

Active Directory Upgrade
Active Directory UpgradeActive Directory Upgrade
Active Directory UpgradeSpiffy
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornmentSpiffy
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentSpiffy
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: TestingSpiffy
 
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?Spiffy
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Spiffy
 
MS TechDays 2011 - WCF Web APis There's a URI for That
MS TechDays 2011 - WCF Web APis There's a URI for ThatMS TechDays 2011 - WCF Web APis There's a URI for That
MS TechDays 2011 - WCF Web APis There's a URI for ThatSpiffy
 
MS TechDays 2011 - NUI, Gooey and Louie
MS TechDays 2011 - NUI, Gooey and LouieMS TechDays 2011 - NUI, Gooey and Louie
MS TechDays 2011 - NUI, Gooey and LouieSpiffy
 
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7Spiffy
 
MS TechDays 2011 - Generate Revenue on Azure
MS TechDays 2011 - Generate Revenue on AzureMS TechDays 2011 - Generate Revenue on Azure
MS TechDays 2011 - Generate Revenue on AzureSpiffy
 
MS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome BitsMS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome BitsSpiffy
 
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformMS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformSpiffy
 
MS TechDays 2011 - Simplified Converged Infrastructure Solutions
MS TechDays 2011 - Simplified Converged Infrastructure SolutionsMS TechDays 2011 - Simplified Converged Infrastructure Solutions
MS TechDays 2011 - Simplified Converged Infrastructure SolutionsSpiffy
 
MS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
MS TechDays 2011 - SCDPM 2012 The New Feature of Data ProtectionMS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
MS TechDays 2011 - SCDPM 2012 The New Feature of Data ProtectionSpiffy
 
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid DeploymentMS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid DeploymentSpiffy
 
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...Spiffy
 
MS TechDays 2011 - Cloud Management with System Center Application Controller
MS TechDays 2011 - Cloud Management with System Center Application ControllerMS TechDays 2011 - Cloud Management with System Center Application Controller
MS TechDays 2011 - Cloud Management with System Center Application ControllerSpiffy
 
MS TechDays 2011 - Virtualization Solutions to Optimize Performance
MS TechDays 2011 - Virtualization Solutions to Optimize PerformanceMS TechDays 2011 - Virtualization Solutions to Optimize Performance
MS TechDays 2011 - Virtualization Solutions to Optimize PerformanceSpiffy
 
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...Spiffy
 
MS TechDays 2011 - Self-Service Private Cloud Management through Integrated P...
MS TechDays 2011 - Self-Service Private Cloud Management through Integrated P...MS TechDays 2011 - Self-Service Private Cloud Management through Integrated P...
MS TechDays 2011 - Self-Service Private Cloud Management through Integrated P...Spiffy
 

More from Spiffy (20)

Active Directory Upgrade
Active Directory UpgradeActive Directory Upgrade
Active Directory Upgrade
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornment
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
 
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
 
MS TechDays 2011 - WCF Web APis There's a URI for That
MS TechDays 2011 - WCF Web APis There's a URI for ThatMS TechDays 2011 - WCF Web APis There's a URI for That
MS TechDays 2011 - WCF Web APis There's a URI for That
 
MS TechDays 2011 - NUI, Gooey and Louie
MS TechDays 2011 - NUI, Gooey and LouieMS TechDays 2011 - NUI, Gooey and Louie
MS TechDays 2011 - NUI, Gooey and Louie
 
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
 
MS TechDays 2011 - Generate Revenue on Azure
MS TechDays 2011 - Generate Revenue on AzureMS TechDays 2011 - Generate Revenue on Azure
MS TechDays 2011 - Generate Revenue on Azure
 
MS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome BitsMS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome Bits
 
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformMS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
 
MS TechDays 2011 - Simplified Converged Infrastructure Solutions
MS TechDays 2011 - Simplified Converged Infrastructure SolutionsMS TechDays 2011 - Simplified Converged Infrastructure Solutions
MS TechDays 2011 - Simplified Converged Infrastructure Solutions
 
MS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
MS TechDays 2011 - SCDPM 2012 The New Feature of Data ProtectionMS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
MS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
 
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid DeploymentMS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
 
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
 
MS TechDays 2011 - Cloud Management with System Center Application Controller
MS TechDays 2011 - Cloud Management with System Center Application ControllerMS TechDays 2011 - Cloud Management with System Center Application Controller
MS TechDays 2011 - Cloud Management with System Center Application Controller
 
MS TechDays 2011 - Virtualization Solutions to Optimize Performance
MS TechDays 2011 - Virtualization Solutions to Optimize PerformanceMS TechDays 2011 - Virtualization Solutions to Optimize Performance
MS TechDays 2011 - Virtualization Solutions to Optimize Performance
 
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
 
MS TechDays 2011 - Self-Service Private Cloud Management through Integrated P...
MS TechDays 2011 - Self-Service Private Cloud Management through Integrated P...MS TechDays 2011 - Self-Service Private Cloud Management through Integrated P...
MS TechDays 2011 - Self-Service Private Cloud Management through Integrated P...
 

Recently uploaded

Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

CTU June 2011 - Things that Every ASP.NET Developer Should Know

  • 1. Things that Every ASP.NET Developer should know Darren Sim Microsoft MVP (ASP.NET / IIS) Member, Microsoft Developer Guidance Web Advisory Council Director, Singapore Software Quality Testing Board (SGTQB)
  • 2. AGENDA HTTP and Web Server Fundamentals Debugging and Analysis Tools Development Techniques Patterns & Practices
  • 3. AGENDA HTTP and Web Server Fundamentals Debugging and Analysis Tools Development Techniques Patterns & Practices
  • 4. Fundamentals • Internet is based on TCP/IP • World Wide Web is based on HTTP – HTTP based on Request/Response paradigm – Header and body – Stateless – Specification @ http://www.ietf.org/rfc/rfc2068.txt
  • 5. Http Request GET http://localhost:99/default.aspx HTTP/1.1 Accept: */* Accept-Language: en-us UA-CPU: x86 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.5.21022) Host: localhost:99 Proxy-Connection: Keep-Alive Pragma: no-cache
  • 6. Http Response HTTP/1.1 200 OK Cache-Control: private Content-Type: text/html; charset=utf-8 Server: Microsoft-IIS/7.0 X-AspNet-Version: 2.0.50727 Header X-Powered-By: ASP.NET Date: Sun, 07 Mar 2010 19:22:19 GMT Content-Length: 686 <head><title> Home Page </title></head> <body class="basic"> <form name="form1" method="post" action="default.aspx" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE0MDkxNzYwNDNkZKn1tb3qjzVWNrSAgGULkE4nvHPg" /> </div> Body <div style="background-color:Blue"> <h3>Home</h3> </div> </form> </body> </html>
  • 7. How we connect to the internet? ISP
  • 8. IIS Architecture Configuration Application Pool SvcHost.exe w3wp.exe WWW Windows Publishing Process Service Activation (W3SVC) Service (WAS) User Mode Kernel Mode HTTP.sys
  • 9. Configuration File Site Application Machine.config Root web.config web.config web.config <system.Web> <system.Web> Applicationhost.config <system.webServer> <system.webServer> *Web.config has a 100Kb file size limit.
  • 10. AGENDA HTTP and Web Server Fundamentals Debugging and Analysis Tools Development Techniques Patterns & Practices
  • 11. AGENDA HTTP and Web Server Fundamentals Debugging and Analysis Tools Development Techniques Patterns & Practices
  • 12. Fiddler • Tracing tool specifically for HTTP • Shows complete request and response (not packets) • Can save archive of session • Can be used on own machine (ipv4.fiddler, ipv6.fiddler) • Can create own GET requests • Can decrypt SSL traffic!
  • 13. Microsoft Network Monitor • General network tracing tool for many protocols • Hooks into network adapters • See network frames at multiple levels • Apply filters for specific protocols, IP addresses, etc Free download at http://www.microsoft.com/downloads/en/details.aspx?FamilyID=983b941d-06cb- 4658-b7f6-3088333d062f&displaylang=en
  • 14. IIS Log Files • Time Taken (execute, queue, and time to client – IIS 7/6) • Sub-status codes are very useful for indicating the exact problems • Log entries are made AFTER the page execution is complete • Log file entries are always in GMT • Setup cookie, referrer, bytes sent
  • 15. Log Parser • Utility to query IIS log files, event logs, etc • Query syntax nearly identical to SQL • Write series of queries for site health (HTTP status, time taken, file sizes, down pages, orders, etc) • ASP.NET Response.AppendToLog( ) Download Log Parser at http://tinyurl.com/5uoxz
  • 16. AGENDA HTTP and Web Server Fundamentals Debugging and Analysis Tools Development Techniques Patterns & Practices
  • 17. AGENDA HTTP and Web Server Fundamentals Debugging and Analysis Tools Development Techniques Patterns & Practices
  • 18. Performance Culprits Problem Statement • HTTP requests are the biggest web performance killer • Reduce Requests, massively improve performance
  • 19. Performance Culprits Solution • Combine all Javascript into one file • Combine all CSS into one file • Using MSAjax CDN instead of your own
  • 20. Reduce & Avoid Requests • Avoid Response.Redirect – Invokes an extra client side HTTP Request • Use Server.Transfer instead
  • 21. Reduce Page Size • The smaller the page, the quicker the download • Especially important in these areas – Mobile Applications (Windows Mobile, IPhone, 3G Data Card) – Non Broadband Users – Many offices have less capacity than broadband – Developing Countries
  • 22. Reduce Page Size • Most Browsers support HTTP Compression – GZIP & Deflate – IE, Firefox etc • Drastically reduces page size • Steps – Browser Passes Accept-Encoding in Request Header – Data is compressed and sent to browser – Browser decompresses html • Only GET is compressed, POST IS NOT Compressed
  • 23. HTTP Compression • Server evaluates the “Accept-Encoding” header for request, compresses resulting response • largeGridView.aspx - 41 frames down to 7 • Implemented in February 2003 when about 3% of Fortune 1000 web sites utilized • Used 53% less bandwidth, ~25% faster Keynote measurements • Now use IIS Compression (free)
  • 24. HTTP Compression (cont…) • IIS 7 – Can control when to stop using if CPU usage is too high – Minimum default file size is 256K – Only static compression is on by default Detailed article about enabling IIS 6 compression at http://tinyurl.com/yjdo7w
  • 25. Content Expirations • Client asks “if-modified-since” • Small content files it is just as expensive to see if modified as to receive content • Setup expiration times for content folders • Avoid requests for files that seldom change (.js, .css, images, etc) • Rename the file if need to override browser caching
  • 26. Ajax Minifier • Microsoft Ajax Minifier (Codeplex.com) • Minimize CSS and JavaScript files – Remove whitespace, comments, excessive semicolons, etc • Command line, .dll, and build tasks • jQuery-1.4.2.js minimized 55.5% • Test after minimize! • MSBuild Extension Pack (version #)
  • 27. ETags • Used for cache validation • IIS sends the ETag header in response for static files – hash:changeNumber • IIS 6 – changeNumber – specific to server – Set to 0 with Metabase Explorer, http://tinyurl.com/2agsbtc • IIS 7 – changeNumber - 0 by default – Completely remove header with HttpModule
  • 28. CSS Sprite • Combine small images into a single image • Use CSS to “index” into the larger image • Often 70-95% of time taken for a user is time requesting components (images, .css, .js) • Reduce the number of requests **Free CSS Sprite generator at http://spritegen.website-performance.org/
  • 29. Tracing • Setup ASP.NET to save information about recent requests • <trace enabled="true" pageOutput="false" localOnly="false" requestLimit="2" mostRecent="true" /> • /Trace.axd
  • 33. Error Page Configurations • <deployment retail=”true” /> (machine.config only) – <customErrors mode=”On” /> – <compilation debug=”false” /> – <tracing enabled=“false” /> • External config files (no restart)
  • 34. Global.asax Application_Error( ) • Every ASP.NET web site should have this coded to ensure that unhandled exceptions are caught and logged • HKLMSystemCurrentControlSetServicesEventLogApplication and add key for source • Use <customErrors mode=“On” /> to redirect to a down page
  • 35. Validation Controls • OWASP Top 10 – XSS (Cross Site Scripting) – SQL Injection • All input from web controls needs to be verified • Leverage client validation for user experience but must validate on the server • Common validators – RequiredFieldValidator – RangeValidator – RegularExpressionValidator – CompareValidator – CustomValidator
  • 36. Caching – Data caching (Cache), cut 50% of our SQL queries which was 72,080,000 less queries each month! – Substitution – Output caching (shared) – Don’t cache page (set specific cache ability) • Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
  • 37. Yahoo! A List Browsers Win XP Win 7 Mac 10.6.† iOS 3.† iOS 4.† Android 2.2.† Safari 5.† A-grade Chrome † (latest A-grade stable) A-grade (upon GA A-grade (upon GA Firefox 4.† release) release) Firefox 3.6.† A-grade A-grade A-grade A-grade (upon GA IE 9.0 release) IE 8.0 A-grade A-grade IE 7.0 A-grade IE 6.0 A-grade Safari for iOS A-grade A-grade WebKit for Android A-grade OS Complete list available at http://developer.yahoo.com/yui/articles/gbs/
  • 38. AGENDA HTTP and Web Server Fundamentals Debugging and Analysis Tools Development Techniques Patterns & Practices
  • 39. AGENDA HTTP and Web Server Fundamentals Debugging and Analysis Tools Development Techniques Patterns & Practices
  • 40. Reference Model to Guide Architecture Projects
  • 41. Model for Web 2.0 Users Client applications/runtimes Connectivity/reachability Services Capabilities
  • 42. Basic Service-Consumer Pattern Consumed via internet Service Client Applications Provides View Offered as Interface Capability
  • 43. Landscape leading to hybrid platforms
  • 44. Web 2.0 Reference Architecture (basic)
  • 45. Web 2.0 Reference Architecture (detailed)
  • 46. Components of a pattern (basic)
  • 47. Components of a pattern (detailed)
  • 48. Patterns for Web 2.0 • The Service-Oriented Architecture Pattern • The Software as a Service (SaaS) Pattern • The Participation-Collaboration Pattern • The Asynchronous Particle Update Pattern • The Mashup Pattern • The Rich User Experience Pattern
  • 49. Patterns for Web 2.0 (cont…) • The Synchronized Web Pattern • The Collaborative Tagging Pattern • The Declarative Living and Tag Gardening Pattern • The Semantic Web Grounding Pattern • The Persistent Rights Management (PRM) Pattern • The Structured Information Pattern
  • 50. AGENDA HTTP and Web Server Fundamentals Debugging and Analysis Tools Development Techniques Patterns & Practices
  • 51. AGENDA HTTP and Web Server Fundamentals Debugging and Analysis Tools Development Techniques Patterns & Practices
  • 52. Resources & Readings Performance Management http://www.sitepoint.com/books/aspnetant1/aspnetant1-sample.pdf ASP.NET Developer Guidance Map http://www.darrensim.com
  • 53. itsme@darrensim.com http://www.facebook.com/darrensim http://www.twitter.com/darrensim