ASP.NET Best Practices - Useful Tips from the Trenches

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    ASP.NET Best Practices - Useful Tips from the Trenches - Presentation Transcript

    1. ASP.NET Best Practices - Useful Tips from the Trenches
      HabeebRushdan, MCT
      hrushdan@lowerhead.com
      LowerHead Consulting, LLC
    2. Target Audience (Why should I sit through this session anyway?)
      Programmers new to .NET Development
      Any non-programmer(even those IT gals & guys) interesting in learning about ASP.NET Development
      Existing ASP.NET web developers interesting in learning a few best practices… we only have a little over an hour so we can’t cover too much!
    3. Agenda
      Introductions
      Brief Introduction of ASP.NET
      Best Practice Examples
      More Best Practice Examples
      A bit More Best Practice Examples…
      Useful Websites & Articles
      Conclusion
    4. About your Presenter
      10 + Years working Professionally in the Technology Field
      Microsoft Certified Trainer (MCT)
      Microsoft Certified Professional Developer (MCPD: Web Developer)
      Microsoft Certified Technology Specialist (MCTS: .NET Framework 3.5, ASP.NET Applications)
      Microsoft Certified Technology Specialist (MCTS: .NET Framework 2.0: Web Applications)
      Microsoft Certified Application Developer (MCAD.NET)
      Adobe Certified Instructor - Flash
      Adobe Certified Expert (ACE - Flash CS3 Professional)
      Macromedia Certified Flash MX Developer
    5. A little bit about you…
      Who are you?
      I really want to know…
      (Sorry CSI, I couldn’t resist!)
    6. What is ASP.NET???
      A series of Classes that live in the System.Web Assembly
      Provides the ability to easily create dynamic websites and applications in the .NET Framework
      Has all the benefits of OOP and the ability to access the thousands of classes built-in to Microsoft’s .NET Framework Class Library
    7. Demo Time – Using Object Browser to look into System.Web Assembly’s Types
    8. ASP.NET Page Execution Life-Cycle
      A series of ASP.NET Page Events that occur in a specific order
      Occurs every time you make a Request to an ASP.NET Page
      Whether it is the first time you visit a page or any additional PostBack to the same page!
    9. ASP.NET Page Life-Cycle Events
      PreInit
      Init
      InitComplete
      PreLoad
      Load
      Control events
      e.g Button1_Click, UserNameTextBox_TextChanged
      LoadComplete
      PreRender
      SaveStateComplete
      Render
      Unload
    10. Some of most commonly used ASP.NET Page Life-Cycle Events
      PreInit
      Set a Master page or Theme dynamically
      Load
      Set properties in controls and grab data to be bound to controls that allow Data-binding
      PreRender
      Make final changes to the contents of the page or its controls e.g. attaching custom HTML attributes to a Button
    11. Demo Time – Handling Page Events
    12. Tips for Creating WebSites
      Start with a Blank Solution
      Separate out your Application into logical Tiers
      Separate Projects for UI, Business Rules, Data-Access, etc
      Create a BasePage that other pages will inherit from
      Use MasterPages for consistent layout
      Use UserControls for reusable UI functionality
    13. Demo Time – Creating a WebSite
    14. State Management Options in ASP.NET
      ViewState
      Session
      Application
      Cache
    15. ViewState
      Maintains state at the Page/Control level
      Is stored in a Hidden Form Input Element on the Client
      It can get very large, very quickly so beware and disable it where possible
    16. ASP.NET Control Tips
      Don’t use a <ASP:Label> Server-side Tag when a caption will not be changed programmatically. Instead, a good Ole’ <Span> Client-side Tag will suffice
      Disable ViewState in controls that don’t need to maintain their state during PostBacks
    17. Demo Time - ViewState
    18. Session
      Maintains state at the Session level (generally speaking, per a user’s browser instance)
      Items are accessible from Page to Page
      Keep in mind that Items stored In Session “linger” until they Expire
      Don’t overuse or your web server’s memory will complain!
      Make sure any custom types you define that need to be stored in Session are marked “Serializable”
    19. Cache
      Robust Application-wide and Non-Session specific state management object
      Provides many options for Item Expiration and Dependencies
    20. Cache & Application Suggestions
      Use the Cache Object instead of the legacy Application Object
      Cache provides tons of more options for intelligently managing your application-wide state data
      Compare the options available with Application.Add to the Cache.Add & Cache.Insert
    21. State Management NO NOs
      Don’t store unmanaged objects in State Management
      For example:
      No DataReaders
      No File Handles (however, the contents of a file stored as System.String is OK)
    22. State Management Suggestions
      Always check for the existence of an object before accessing it (also called defensive programming)
      Use string constants for keys
      This prevents misspellings and other nasty side-effects
      Consider using a “Manager” pattern with State Management objects
    23. Demo Time – SessionManager Class
    24. Some General Tips
      Dispose of unmanaged resources after their use
      This is especially important in web applications because of their disconnected nature
      Therefore, indulge the “using” statement
      Make sure you have a robust exception handling strategy
      Use Try/Catch/Finally where potential issues may occur and have a consistent logical way of dealing with exceptions
    25. Exception Handling in ASP.NET
      Web.config page redirect option
      Page_Error
      Application_Error
    26. ASP.NET AJAX Options
      Server-side AJAX
      Using UpdatePanels with existing ASP.NET controls to “trick” the client that PostBacks are not occurring
      Client-side AJAX
      No trickery involved but more work & better bang for the buck
    27. AJAX Tips
      Minimize the use of Server-side AJAX and Update Panels
      Bad for performance and may cause some unexpected results
      Embrace Client-side AJAX (true AJAX)
      Microsoft makes it easy but you will need to learn some JavaScript
      Don’t be scared… JavaScript is fun and exceptionally versatile!
    28. Demo Time – Client side AJAX
    29. Any Tips you would like to Add?
      Come on, don’t be shy…
      We won’t bite ya… we just had some free pizza!
    30. What have you learned?
      An Overview of ASP.NET
      Several ASP.NET Best Practices
    31. Useful Websites & Articles
      Microsoft’s Official Developer Network Site
      http://www.msdn.com
      ASP.NET Official Web Site
      http://www.asp.net/
      http://www.asp.net/ajax/
      CodeProject Web Site
      http://www.codeproject.com/
    32. Conclusion
      Questions?/Comments…
      As always, “Live long and code proper!”

    + Habeeb RushdanHabeeb Rushdan, 1 month ago

    custom

    269 views, 0 favs, 0 embeds more stats

    Slides from a presentation Habeeb Rushdan, MCT gave more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 269
      • 269 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 12
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories