Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Asp.net architecture

25,499 views

Published on

Published in: Education

Asp.net architecture

  1. 1. Building Web Applications Ch. Vishwa Mohan Freelance Software Consultant & Corporate Trainer
  2. 2. Table of Contents <ul><li>Introducing .NET & ASP.NET </li></ul><ul><li>Creating and Programming Web Applications </li></ul><ul><li>Adding and Configuring Server Controls </li></ul><ul><li>Working with Master Pages & Themes </li></ul><ul><li>Accessing Data with ADO.NET </li></ul><ul><li>Working with XML </li></ul><ul><li>State Management </li></ul><ul><li>Navigation </li></ul><ul><li>Personalization and User Profiles </li></ul><ul><li>Securing and ASP.NET Web Application </li></ul><ul><li>Working with Web Parts </li></ul><ul><li>Creating Custom Web Controls </li></ul><ul><li>XML Web Services & WCF Essentials </li></ul><ul><li>Modules & Handlers </li></ul><ul><li>Globalization & Localization </li></ul><ul><li>Configuration & Deployment </li></ul>
  3. 3. Introducing .NET & ASP.NET
  4. 4. What is .NET Framework ? <ul><li>Microsoft .NET Framework is an environment for building, deploying, and running Web applications and Web Services. </li></ul><ul><li>Microsoft.NET Framework Advantages: </li></ul><ul><ul><li>Easier and quicker programming </li></ul></ul><ul><ul><li>Reduced amount of code </li></ul></ul><ul><ul><li>Declarative programming model </li></ul></ul><ul><ul><li>Richer server control hierarchy with events </li></ul></ul><ul><ul><li>Larger class library </li></ul></ul><ul><ul><li>Better support for development tools </li></ul></ul>
  5. 5. .NET Framework Platform & Tools Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services Windows® Forms Common Language Specification VB C++ C# J# …
  6. 6. <ul><li>ASP.NET is a web application framework used to build Web Applications and Web Services. </li></ul><ul><li>Part of Microsoft's .NET platform </li></ul><ul><li>ASP.NET is built on the CLR, allowing programmers to write ASP.NET code using any .NET language like C#, VB.NET. J# </li></ul><ul><li>ASP.NET also supports ADO.NET. </li></ul><ul><li>Runs on IIS </li></ul><ul><li>Successor to Microsoft's Active Server Pages (ASP) technology. </li></ul><ul><li>ASP.NET developed web pages have file extension “ .apsx ”. </li></ul><ul><ul><li>These files can contain HTML, XML and Scripts. </li></ul></ul><ul><li>With ASP.NET you can develop Web services also. These services have “ .asmx ” extension. </li></ul>What is ASP.NET ?
  7. 7. <ul><li>Controls: </li></ul><ul><ul><li>ASP.NET controls </li></ul></ul><ul><ul><ul><li>All Html Controls and other sophisticated input controls </li></ul></ul></ul><ul><ul><ul><li>Event Aware Controls All the asp objects on the web page is event aware. </li></ul></ul></ul><ul><ul><li>ASP.NET Components </li></ul></ul><ul><ul><ul><li>Components are heavily based on XML. Example the old AD Rotator now uses XML to store advertisement information and configuration. </li></ul></ul></ul><ul><li>Security </li></ul><ul><ul><li>Authentication </li></ul></ul><ul><ul><li>Authorization </li></ul></ul><ul><li>Scalability </li></ul><ul><ul><li>Application can scale over more than one server. Enhanced sever to server inter-communication. </li></ul></ul><ul><li>Improved Performance </li></ul><ul><ul><li>The first request for an ASP.NET page on the server will compile the ASP.NET code and keep a cached copy in memory. </li></ul></ul>ASP.NET Features
  8. 8. <ul><li>SQL Cache Invalidation. </li></ul><ul><li>Membership and Role Management. </li></ul><ul><li>Personalization services </li></ul><ul><li>Site Navigation </li></ul><ul><li>Master pages </li></ul><ul><li>Themes </li></ul><ul><li>Compilers for C#, Visual Basic, C++, and J#. </li></ul><ul><li>New Server Controls </li></ul><ul><li>New Localization technique </li></ul><ul><li>Support for Provider model </li></ul><ul><li>Support for 64-bit processors </li></ul>New Features of ASP.NET 2.0 <ul><li>Different types of available providers in ASP.NET 2.0: </li></ul><ul><ul><li>Membership Providers </li></ul></ul><ul><ul><li>Role Providers </li></ul></ul><ul><ul><li>Personalization Provider </li></ul></ul><ul><ul><li>SiteMap Provider </li></ul></ul><ul><ul><li>SessionState Provider </li></ul></ul><ul><ul><li>Web Event Providers </li></ul></ul><ul><ul><li>Configuration Provider </li></ul></ul><ul><ul><li>WebPart Provider </li></ul></ul>
  9. 9. <ul><li>ASP.NET applications that build on version 3.0 are benefited to use WPF, WCF, WWF and Cardspace. </li></ul>New Features of ASP.NET 3.0
  10. 10. <ul><li>AJAX </li></ul><ul><li>LINQ </li></ul><ul><li>New Compilers for C#, Visual Basic and C++ </li></ul><ul><li>Additional class in the Base class library </li></ul><ul><li>New Data Controls (ListView, DataPager) </li></ul>New Features of ASP.NET 3.5
  11. 11. <ul><li>Visual Studio is a completed set of development tool for building </li></ul><ul><ul><li>Desktop Applications </li></ul></ul><ul><ul><li>ASP.NET Web Applications </li></ul></ul><ul><ul><li>XML Web Services </li></ul></ul><ul><ul><li>Mobile Applications. </li></ul></ul><ul><ul><li>Class Libraries, .NET Components & Active X Controls </li></ul></ul><ul><li>Supporting Languages are: </li></ul><ul><ul><li>Visual C# </li></ul></ul><ul><ul><li>Visual Basic.NET </li></ul></ul><ul><ul><li>Visual C++ </li></ul></ul><ul><ul><li>More and more.., </li></ul></ul><ul><li>In addition to above languages you can also access functionality of .NET Framework, which provides access to key technologies that simplifies the development of ASP.NET applications and XML Web Services. </li></ul>Introducing Visual Studio
  12. 12. <ul><li>Visual Studio makes application development faster, easier, and more reliable. </li></ul><ul><li>Code-aware editors that include statement completion, syntax checking, and other IntelliSense features. </li></ul><ul><li>Visual designers for forms with drag and drop controls. </li></ul><ul><li>Integrated compilation and Debugging. </li></ul><ul><li>Source Control. </li></ul><ul><li>Database design tools </li></ul><ul><li>XML Editor support </li></ul><ul><li>SQL Server Integration </li></ul><ul><li>Server Explorer </li></ul><ul><li>Code change status notification. </li></ul><ul><li>Error Notification and Assistance </li></ul><ul><li>Supporting Code Snippets. </li></ul><ul><li>Allow you to pre-compile and deploy web site. </li></ul>Features of Visual Studio
  13. 13. Creating & Programming Web Applications
  14. 14. Creating Simple Web Site <ul><li>To Create a new Web Site from Visual Studio select </li></ul><ul><li>File  New  WebSite . </li></ul>
  15. 15. First look at Web Application <ul><li>Page Directive </li></ul><ul><li>ASP.NET Script </li></ul>
  16. 16. Code Page <ul><li>There is no link up between the ASP.Net page and the code here. </li></ul><ul><li>The is automatically achieved by the AutoEventWireUp attribute is set to true in the Page directive. </li></ul>
  17. 17. Adding new Web Page
  18. 18. <ul><li>ASP.NET pages are officially called Web Forms. </li></ul><ul><li>Using web forms we can create a web application using the same control-based interface as a Windows application. </li></ul><ul><li>Therefore instead of using html form tags, windows control can be used in the pages. </li></ul><ul><li>The ASP.NET ISAPI extension reads the “ aspx ” file and generates the corresponding objects, and fires a series of events. </li></ul><ul><li>All the controls used in Web form are embedded within a <form> element of Web page. </li></ul><ul><li>ASP.NET provides two paths for structuring the code for your ASP.NET pages: </li></ul><ul><ul><li>The single file Page Model </li></ul></ul><ul><ul><li>Code-behind Page Model ( default & recommended model ) </li></ul></ul><ul><li>Normally an ASP.NET page has two parts: </li></ul><ul><ul><li>Visual element tags like server control tags and static text. </li></ul></ul><ul><ul><li>Programming logic for the page, which includes event handlers and other code. </li></ul></ul>Web Pages <ul><li>Within ASP.NET web pages the code outside of </li></ul><ul><li><form runat=&quot;server&quot;> and <script runat=&quot;server&quot;> </li></ul><ul><li>elements is interpreted by the browser as client-side code . </li></ul><ul><ul><li><script runat=&quot;server &quot;> </li></ul></ul><ul><ul><li>//ASP.NET code goes here. Eg Button Click Handlers, etc., </li></ul></ul><ul><ul><li></script> </li></ul></ul><ul><li>In the above script, if you don’t put runat=“server” then it will become a client side script. </li></ul><ul><li>All the presentation elements goes inside <form> block. </li></ul><ul><li><form id=&quot;form1&quot; runat=&quot;server“ > </li></ul><ul><li>//ASP.NET code Eg: Controls on web page related stuff. <asp:Button ID=&quot;btnDisplay“ runat=&quot;server&quot; Text=&quot;Display&quot; /> </form> </li></ul>
  19. 19. <ul><li>Advantages of Single file page model : </li></ul><ul><ul><li>For a small simple page all code in one file is simpler to handle. </li></ul></ul><ul><ul><li>Slightly easier to deploy or transfer because you need to send only one file. </li></ul></ul><ul><ul><li>Because there is no dependency between files, a single-file page is easier to rename. </li></ul></ul><ul><li>Advantages of Code-behind page model : </li></ul><ul><ul><li>A clean separation of design and code </li></ul></ul><ul><ul><li>The design code is usually mark up code which is achieved through visual programming (drag drop). This code is generated automatically by visual studio. </li></ul></ul><ul><ul><li>This approach keeps the code that programmer writes is kept separate from the code that is automatically generated. </li></ul></ul><ul><ul><li>Page designers is not exposed to the code that programmers write. </li></ul></ul><ul><ul><li>Same code can be reused for multiple pages. </li></ul></ul>Differences between Page Models <ul><li>Both the visual elements and the programming logic is written in the same page. </li></ul><ul><li><%@ Page Language=&quot;C#&quot; %> </li></ul><ul><li><script runat=&quot;server&quot;> </li></ul><ul><li>void Button1_Click(Object sender, EventArgs e){ </li></ul><ul><li>Label1.Text = DateTime.Now.ToString(); } </li></ul><ul><li></script> </li></ul><ul><li><html> <head> <title> Single-FileModel </title> </head> </li></ul><ul><li><body> </li></ul><ul><li><form runat=&quot;server&quot;> </li></ul><ul><li><asp:Label id=&quot;Label1&quot; runat=&quot;server&quot; Text=&quot;Label“ /> </li></ul><ul><li><asp:Button id=&quot;Button1&quot; runat=&quot;server&quot; </li></ul><ul><li>onclick=&quot;Button1_Click&quot; Text=&quot;Button&quot;> </asp:Button> </li></ul><ul><li></form> </li></ul><ul><li></body> </li></ul><ul><li></html> </li></ul>
  20. 20. File Options Using Code-Behind File Options Created Files Web Form .aspx file .aspx.cs or .aspx.vb Master Page .master file .master.cs or .master.vb Web User Control .ascx file .ascx.cs or .ascx.vb Web Service .asmx file .cs or .vb file Trace Handlers trace.axd
  21. 21. Some Interested Files in ASP.NET File Usage AssemblyInfo.cs or vb A project information file contains metadata about the assemblies in a project, such as name, culture and version info. Web.config An XML based file that contains configuration data on-each unique URL resource used in the project Global.asax.cs or vb An optional file for handling application level events. Eg: Application_OnError, Session_OnStart, etc., Styles.css Cascade style sheet.
  22. 22. ASP.NET Application Folders <ul><li>App_Code Folder: In this folder the following files are kept. All these files are automatically available to your code. </li></ul><ul><ul><li>Meant to store classes ( .cs or .vb ) files, .wsdl file and typed dataset files. </li></ul></ul><ul><li>App_Data Folder: Different types of database and XML files stored. </li></ul><ul><ul><li>MS Access ( .mdb ) files, MS-SQL ( .mdf ) files, XML files. </li></ul></ul><ul><ul><li>Files stored in this folder can’t be pulled up into the browser. </li></ul></ul><ul><li>App_Themes Folder: </li></ul><ul><ul><li>Skin files, CSS files, Images </li></ul></ul><ul><li>App_GlobalResources Folder: In this folder .resx files stored. </li></ul><ul><li>App_LocalResources Folder: Places .resx files specified to page. </li></ul><ul><li>App_WebReferences: Place web services references in this folder. </li></ul><ul><li>Global.asax file: This file has events can be used to initialize the objects in the application level and session level. </li></ul>
  23. 23. ASP.NET Execution Model
  24. 24. ASP.NET Execution Model
  25. 25. Execution Model with Session State
  26. 26. Thank You !

×