What is ASP .Net ? ASP.NET provides a programming model and infrastructure that offers the needed services for programmers to develop Web-based applications. ASP.NET is a part of the .NET Framework, the programmers can make use of the managed Common Language Runtime (CLR) environment, type safety, and inheritance etc to create Web-based applications. You can develop your ASP.NET Web-based applications in any .NET complaint languages such as Microsoft Visual Basic, Visual C#, and JScript.NET. Developers can effortlessly access the advantage of these technologies, which consist of a managed Common Language Runtime environment, type safety, inheritance, and so on. With the aid of Microsoft VisualStudio.NET Web development becomes easier.
Advantages of ASP. Net ASP.NET is Part of the .NET Framework ASP.NET Pages are compiled XML-Based Code-Behind logic ASP.NET Pages are built with Server Controls
Advantages of Asp. Net contd.. ASP.NET is Part of the .NET Framework The .NET Framework comprises over 3,400 classes that we can employ in our ASP.NET applications. We can use the classes in the .NET Framework to develop any type of applications. ASP.NET Pages are compiled When an ASP.NET page is first requested, it is compiled and cached on the server. This means that an ASP.NET page performs very rapidly. All ASP.NET code is compiled rather than interpreted, which permits early binding, strong typing, and just-in-time (JIT) compiling to native code. XML-Based ASP.NET configuration settings are stored in XML-based files, which are human readable and writable. Each one of our applications can have a different configuration file and we can extend the configuration scheme according to our necessities. Code-Behind logic The main problem with ASP Classic pages is that an *.asp page does not yield modularized code. Both HTML and Script are present in a single page. But Microsofts ASP.NET implementation contains a new-fangled method to break up business logic code from presentation code. ASP.NET Pages are built with Server Controls We can easily build complex Web pages by bring together the pages out of ASP.NET server controls. For example, by adding validation controls to a page, we can easily validate form data.
ASP. net Contd.. Developers can build their works in these forms (a) Web Forms. (b) Web Services.
Web Forms Web Forms permits us to build powerful forms-based Web pages. When building these pages, we can use Web Forms controls to create common UI elements and program them for common tasks. These controls permit us to rapidly build up a Web Form.
Web Services Web services enable the exchange of data in client- server or server-server scenarios, using standards like HTTP, SOAP (Simple Object Access Protocol) and XML messaging to move data across firewalls. XML provides meaning to data, and SOAP is the protocol that allows web services to communicate easily with one another. Web services are not tied to a particular component technology or object-calling convention. As a result, programs written in any language, using any component model, and running on any operating system can access Web services.
Why We need ASP. Net ? Compiled applications – no more server script Multi-language support – vb, c#, … Language enhancements – OOP, … Event-driven controls Code and content separation Configuration enhancements Easier deployment Debugging improvements Benefits of the CLR Benefits of the .NET Framework library Multi-Processor support Consistent object model Integrated dev environment with VS.NET
Web Project Files in VS.NET contd..Other files you may see: .ascx – User control .asmx – Web service file .axd – Trace file .xsd – Typed dataset + class file .cs or .vb – Class or VB Module file .resx – resource files + other project-specific files
Features of ASP. Net Intrinsic Objects overcomes from ASP – ASP.Net Request (HttpRequest) Response (HttpResponse) Application (HttpApplicationState) Session (HttpSessionState) Server (HttpServerUtility) Context (HttpContext) Trace (TraceContext)
Useful Page Objects User – of type IPrincipal and contains user and security information (IsInRole & Name…) Cache – for accessing the ASP.NET caching infrastructure programmatically Directives <% @ directive attribute=value %> @Page – for web pages @Control – for user controls @Reference – for registering a control on a page @OutputCache – for setting page caching options (Page) or fragment caching options (Control) Not case-sensitive
Controls Web Server Controls Automatic Browser Customization Datagrid, textbox, dropdown… Validation Controls HTML Server Controls (using runat=”Server”) Custom Controls User Controls Composite Custom Controls
Configuration A look at the Web.config File <appSettings> - used for your own settings (connection strings,…) <authentication> - how you determine who the user is <authorization> - what the user has access to <customErrors> - to redirect users to “nice” error pages <trace> - to control tracing in the application Custom configuration sections Elements & attributes are case-sensitive
Session State Modes: InProc – similar to old ASP StateServer – a windows service SqlServer – state stored in SQL Server Off Cookieless – uses a URL identifier
Building and Deploying Projects are compiled Note: changes to aspx pages may not require recompilation Compared to ASP script interpretation At Runtime (after you’ve built your project file): Step 1: the aspx page is compiled to a temporary dll and cached, if not already Step 2: the page is run Building in Debug vs. Release (pdb files / performance)
Design Time Run Time Inherits fromSystem.Web.UI.Page Inherits from WebForm1.aspx WebForm1.cs/.vb Compiles Into Compiles Into temporary.dll MyProject.dll WebForm1 class HTML
Tracing Trace. Write & Trace. Warn Configuring Tracing Per application or per page Enabled, request Limit, page Output, … Disable tracing on production applications; you can leave the Trace. Write methods without any impact to performance.
Preparing for ASP.NET Use Option Explicit Avoid using default properties Use parentheses and the Call keyword Avoid nested include files Organize utility functions into single files Try to separate code and content
Preparing for ASP.NET Avoid declaring functions inside <% %> delimiters– use <script></script> Use Response.Write() instead of functions that emit HTML ( %> <html>… <% ) Explicitly free resources (call Close() methods) Avoid mixing languages in a single page