SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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 8Dimitris Andreadis
 
Configuring CQ Security
Configuring CQ SecurityConfiguring CQ Security
Configuring CQ Securityconnectwebex
 
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 2014Dimitris Andreadis
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the UnionDimitris 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/11Jess Coburn
 
Presentation on Instant page speed optimization
Presentation on Instant page speed optimizationPresentation on Instant page speed optimization
Presentation on Instant page speed optimizationSanjeev 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 UnionDimitris Andreadis
 
JBoss Enterprise Application Platform 6 Troubleshooting
JBoss Enterprise Application Platform 6 TroubleshootingJBoss Enterprise Application Platform 6 Troubleshooting
JBoss Enterprise Application Platform 6 TroubleshootingAlexandre 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 PerformanceBrian Culver
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Serveracosdt
 
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 HoursAndrew 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 AtlasMongoDB
 
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 SwarmDimitris 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 Webphilogb
 
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 SummitColin Charles
 

Tendances (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
 

En vedette

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 WongSpiffy
 
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 IsmaelSpiffy
 
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 ChappellSpiffy
 
01 server manager spiffy
01 server manager spiffy01 server manager spiffy
01 server manager spiffySpiffy
 

En vedette (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
 

Similaire à 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 CodesDeeptiJava
 
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 ProfessionalJoel 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 KamelHosam 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 S313978David 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 WebcastJoel Oleson
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on SteroidsSiteGround.com
 
Dot Net Nuke Presentation
Dot Net Nuke PresentationDot Net Nuke Presentation
Dot Net Nuke PresentationTony Cosentino
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By DesignTim Morrow
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End PerformanceChris 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 2008jorke
 
Asp.net performance secrets
Asp.net performance secretsAsp.net performance secrets
Asp.net performance secretsMahmoud Ghoz
 
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
 

Similaire à 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...
 

Plus de 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
 

Plus de 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...
 

Dernier

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 

Dernier (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 

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