DEV414 Black-belt ASP.NET Tips And Tricks For Your ASP.NET Applications Rob Howard Program Manager Web Platform and Tools Team.

Slides:



Advertisements
Similar presentations
Advanced Performance Techniques in ASP.NET 2.0 William Zhang, Ph.D. Senior Consultant Microsoft Consulting Services.
Advertisements

Brian Alderman | MCT, CEO / Founder of MicroTechPoint Pete Harris | Microsoft Senior Content Publisher.
Developing An Advanced ASP.NET Server Control With Rich Design-Time Eilon Lipton PRS401 Software Design Engineer Microsoft Corporation.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Multiple Tiers in Action
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
Building a social networking portal on Windows Azure in 1 hour Saranya Sriram Developer Evangelist Microsoft, India.
What’s new for Rich Clients? Martin Parry Developer & Platform Group Microsoft Ltd
Varun Sharma Security Engineer | ACE Team | Microsoft Information Security
Building Scalable and Reliable Web Applications Vineet Gupta Technology Evangelist Microsoft Corporation
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
IIS, Tools And Extensibility Madhur Joshi Development Lead Phone:
 Pablo Castro Software Architect Microsoft Corporation TL08.
WEB329 ASP.NET: A Lap Around the New Enhancements for Web Developers in Microsoft Visual Studio 2005 Omar Khan Lead Program Manager Web Platform and Tools.
Getting Started with Windows Azure Name Title Microsoft Corporation.
The ASP.NET Server Model Martin Parry Developer and Platform Evangelism Group Microsoft
DAT336 Connected vs Disconnected Data Access in ADO.NET Pablo Castro Program Manager – ADO.NET Team Microsoft Corporation.
Building ASP.NET Apps in Windows Azure Name Title Microsoft Corporation.
Website Design Lecture 1. Outline Introduction to the module Outline of the Assessment Schedule Lecture Static XHTML, client side and server side Why.
Boost data-driven application development using SQL Server Centric.NET Code Generator David Rodriguez SQL Server Technology Specialist Microsoft Corporation.
Tips and Tricks for Managing and Administering your Enterprise Project Management Server Solution Mike Joe / Karthik Chermakani Software Test Engineer.
Windows Forms in Visual Studio 2005 Mike Pelton Systems Engineer Microsoft Ltd
BizTalk 2009 Performance Ewan Fairweather Tim Wieman Paolo Salvatori BizTalk Customer Advisory Team (CAT) Microsoft Corporation SBPCT301.
Why data services? Common challenges when creating rich web applications Creating rich web applications with data services Future scenarios & roadmap.
Name Microsoft Student Partner Overview of the Visual Studio 2005 Express Products.
Windows Role-Based Access Control Longhorn Update
Building State of the art presentation tiers Nauzad Kapadia
DAT300 SQL Server Notification Services: Application Development Ken Henderson Technical Lead, SQL Server Support Microsoft Corporation
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
Windows Forms in Visual Studio 2005: An in-depth look at key features Name: Joe Stegman Title: Lead Program Manager Session code.
What’s New in Windows Forms 2.0 Stephen Turner Software Design Engineer
Building Windows Runtime Components in C++ Harry Pierson Program Manager, Windows Runtime Experience Team Microsoft Corporation.
Tips & Tricks: Writing Performant Managed Code Rico Mariani FUNL04 Performance Architect Microsoft Corporation.
DEV394 Windows Forms Performance Tips And Tricks Mike Henderlight Development Manager.NET Client Team Microsoft Corporation
DEV394.NET Framework: Migrating To Managed Code Adam Nathan QA Lead Richard Lander Program Manager Microsoft Corporation.
IE Developer Tools Jonathan Seitel Program Manager.
Aniruddha Deswandikar & Govind Kanshi Microsoft Technology Center, Bangalore SESSION CODE: ##### Building performant Web applications.
ASP.net Course From Intermediate to Advance level By Arsalan Ahmed 3 Months Course Cell :
Developing Custom ASP.NET Providers For Membership And Role Manager Stefan Schackow PRS404 Program Manager – Web Platform and Tools Microsoft Corporation.
Msdevcon.ru#msdevcon. ИЗ ПЕРВЫХ РУК: КАК СДЕЛАТЬ ВАШ КОД БЫСТРЫМ ПРОФАЙЛИНГ КЛИЕНТСКИХ И СЕРВЕРНЫХ ПРИЛОЖЕНИЙ В VISUAL STUDIO 2012 MAXIM GOLDIN Senior.
Building More Powerful ASP.NET Applications with IIS7 Michael Volodarsky COM303 Program Manager Microsoft Corporation.
ASP.NET 2.0 Mohammed Abdelhadi Developer.NET Evangelist Microsoft Corporation.
Building rich web applications with ASP.NET AJAX Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism Group,
Top 10 Entity Framework Features Every Developer Should Know
Building Enterprise Applications Using Visual Studio®
ASP.NET AJAX – Basics Svetlin Nakov Telerik Corporation
Integrating Enterprise Applications Into SharePoint® Portal Server
Introduction to ASP.NET 2.0
Getting Started with Visual Studio Tools for Tizen
Maximize the performance and scale of Microsoft Dynamics AX
Tech Ed North America /13/ :13 AM Required Slide
Myth Busting: Hosted Web Apps
11/12/2018 6:58 PM © 2004 Microsoft Corporation. All rights reserved.
The Application Lifecycle
Microsoft Connect /1/2018 2:36 AM
Andi Comisioneru Principal Group Program Manager Microsoft Corporation
Windows Summit /4/2018 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
Building responsive apps and sites with HTML5 web workers
TechEd /15/2019 8:08 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Visual Studio 2005 Tools For Office: Creating A Multi-tier Application
Andi Comisioneru Principal Group Program Manager Microsoft Corporation
Windows Forms in Visual Studio 2005: An in-depth look at key features
Introduction to ASP.NET Parts 1 & 2
Mark Quirk Head of Technology Developer & Platform Group
8/23/ :09 PM #DEV332 Building Modern, HTML5-Based Business Apps on Windows Azure and Office 365 with Visual Studio LightSwitch Andrew
DEV315 Best Practices for running IIS 6.0 and ASP.NET
Blazor A new framework for browser-based .NET apps Ryan Nowak
Visual Studio 2005 IDE Features
Presentation transcript:

DEV414 Black-belt ASP.NET Tips And Tricks For Your ASP.NET Applications Rob Howard Program Manager Web Platform and Tools Team

ASP.NET Community ASP.NET Resources

Agenda Building an intermediate page Set focus Outputcache (duration and page size) Per-request caching Reflection caching Returning multiple result sets SQL record paging Background processing Database cache invalidation

Intermediate Page Problem Long running, expensive operation Prevent Refresh or Re-Submit Display temporary ‘processing’ UI Client is still waiting for work to complete Server is still processing Perception …is not reality Client is re-activated Multiple techniques, client script easiest

Intermediate Page

Set Focus Problem Large HTML Form Set initial focus of the Form, e.g. Button Enable dynamic control selection JavaScript focus() method Use ClientID of Server Control Page.RegisterStartupScript() Script that runs when page starts

Set Focus

Duration And Page Size Problem How much data to return How large should page be Page size does affect performance Larger pages slow down server Aim for ~30K (Google is ~2K!) Duration for OutputCache More tunable than most people think Even 1Sec duration makes a difference

Page Size And Duration

Per-Request Caching Problem Data that cannot be cached Result is unique on each request Per-Request Caching Cache data for the life of a request Different than Cache API Use HttpContext.Items HttpContext is scoped to request Destroyed when request completes

Per-Request Caching

Reflection Caching Problem Reflection is powerful, but expensive 3-4 times cost of normal object creation Dynamic Class Loading Inspect or load classes at runtime Used by new Provider pattern Cache the constructor of the class 1/3 Cost of non-Cached Technique used in Forums Provider

Reflection Caching

Multiple Result Sets Problem Database operations are expensive Network IO is very costly Be as efficient as possible Use SPROCs or Parameterized SQL Batch Result Sets SqlDataReader.NextResult() Not as evident on local SQL (no network)

Batched Result Set

SQL Record Paging Problem DataGrid paging requests all records Only shows requested, discards others Return only the data you need Reduces time spent with DB Increases application throughput Stored Procedure paging Uses temporary table Requires knowledge of SQL indexes

Paging Data In SQL Server

Background Threading Problem Expensive work (index, , updates …) Optimize the request path Schedule other tasks Use System.Threading.Timer Callback activates every n milliseconds Requires CLR AppDomain to be active Can get HttpContext – few tricks Uses thread from threadpool

Background Threading

DB Cache Invalidation Problem Keeping Cache and Database in sync Cache for period of time Optimally invalidate on data changes Built-in feature of ASP.NET 2.0 Several bad techniques for ASP.NET 1.X Uses background thread Poll for database changes Similar model used in ASP.NET 2.0

Database Cache Invalidation

Summary Tips and Tricks to make your app better Tune and optimize your application Control data from the database Off-load work Cache as much as possible

© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.