3. Visual Studio 2008: The Tool for .NET Development Web Forms, ASP.NET AJAX Windows Forms, WPF Error Handling Multiple Languages Data Access, LINQ Web Services, WCF Design Deploy Develop Debug
41. ASP.NET Architecture ASP.NET 2.0 “Page Framework” Features ASP.NET 2.0 “Control Buckets” (50+) Master Pages Themes / Skins Localization Client Scripting Security Data Navigation WebParts ASP.NET 2.0 ASP.NET 2.0 Application Services APIs ASP.NET AJAX 1.0 Membership Role Manager Personalization Site Navigation Database Caching Health Monitoring ASP.NET 2.0 Provider Model Design Pattern Providers Windows SQL Server XML Sitemap Custom Provider IIS 5.0 / 6.0 SQL Express
42. ASP.NET 3.5 ASP.NET AJAX 1.0 ASP.NET AJAX ASP.NET 2.0 LINQ LinqDataSource Listview Control More… IIS 7.0 ASP.NET 2.0 Application Services IIS 5.0 / 6.0 Forms Authentication Profile Role Management Session State ASP.NET Architecture
43. ASP.NET AJAX Architecture Client Script Library Controls, Components ASP.NET AJAX Server Extensions App Services Bridge Component Model and UI Framework ASP.NET AJAX Server Controls Web Services Bridge Base Class Library Script Core ASP.NET 2.0 Application Services Page Framework, Server Controls Browser Compatibility ASP.NET AJAX ASP.NET Pages HTML, Script, ASP.NET AJAX Markup Service Proxies Web Services Client Application Services Browser Integration Client Framework and Services Server Framework
71. LinqDataSource Control Exposes LINQ to Web developers Uses a familiar ASP.NET data source control architecture Implements the DataSourceControl pattern introduced with ASP.NET 2.0 Bind against a LINQ enabled data model Declaratively bind to ASP.NET controls
72. IIS7 Integration 2 Processing Modes: Classic Mode For IIS6 compatibility Integrated Mode Can process all requests Enhanced functionality Higher fidelity notifications
73. Tools for Designing and Developing Silverlight Applications Microsoft Expression Studio Expression Design Expression Blend Expression Encoder Microsoft Visual Studio Silverlight Tools Alpha Refresh for Visual Studio
75. Conclusion ASP.NET is innovation for the Web AJAX LINQ for simple Data IIS7 - New Web Server for ASP.NET! Visual Studio 2008, most productive IDE Get the latest news, releases, training, videos and tutorials at www.asp.net !
Inform the students that if they have the .NET Framework installed on their computers, they can build programs without Microsoft Visual Studio® 2008 (for instance, by using Microsoft Notepad only). However, Visual Studio 2008 is a great development environment that makes developing Web applications a rich experience for developers. Visual Studio 2008 is designed to support the developer all the way through the development process.
Introduced with VS2005 and ASP.NET 2.0:The ASP.NET Compilation tool (Aspnet_compiler.exe) enables you to compile an ASP.NET Web application, either in place or for deployment to a target location such as a production server. By default, ASP.NET Web pages and code files are compiled dynamically when users first request a resource such as a page from the Web site. Subsequent requests to the same page are extremely efficient.ASP.NET can also pre-compile an entire site before it is made available to users. This provides a number of advantages, including:• Faster response time for users, since pages and code files do not have to be compiled the first time they are requested. This is particularly useful on large sites that are updated frequently. • A means to identify compile-time bugs before users see a site.• The ability to create a compiled version of the site that can be deployed to a production server without source code.The ASP.NET Compilation tool creates one assembly for each content folder in the target Web site, or it creates one assembly for each content file. The ASP.NET Compilation tool is not available with versions of ASP.NET earlier than ASP.NET version 2.0.<Click for Animation>New With VS2008:The ASP.NET Merge tool (Aspnet_merge.exe) enables you to combine and manage assemblies created by the ASP.NET Compilation Tool. While the ASP.NET Compilation tool can be used to pre-compile an application for deployment, the ASP.NET Merge tool enables further flexibility in deployment and release management of the applications. Beyond what the ASP.NET Compilation tool provides, the ASP.NET Merge tool enables the following:• Create one assembly for an entire Web site.• Create an assembly for each Web site folder and add a prefix to the assembly name.• Create a single assembly for just the Web site user interface (UI) elements, such as pages and controls.The ASP.NET Merge tool comes with the 3.5 version of the .NET Framework. It was released earlier as an add-on for Visual Studio 2005.The ASP.NET Merge tool is also not available with versions of ASP.NET earlier than ASP.NET 2.0.
VS2005:IntelliSense support in Visual Studio 2005 was a leap beyond what it had been in previous versions. The idea of “IntelliSense Everywhere” was truly born. VS2005 extended IntelliSense beyond the code-behind model to inline code and HTML markup as well. Web.config files also got to partake in IntelliSense. In design view, Smart Tags provided IntelliSense for the visual designer.<Click for Animation>VS2008:IntelliSense functionality for JavaScript was added in VS2008. It makes programming elements easy to access in the Code Editor in Visual Studio. IntelliSense works with all ECMAScript languages. This includes Microsoft JScript and JavaScript.As you work with client script, IntelliSense lists the objects, functions, properties, and parameters that are available relevant to the current programming context. This includes scripting elements in the current file and any code that is referenced directly or indirectly from your script, such as script file references, assembly script references, and service references. JavaScript IntelliSense supports Document Object Model (DOM) elements, intrinsic objects, user-defined variables, functions, and objects, external file references, XML code comments, and ASP.NET AJAX objects.*The Visual Studio 2008 IDE has another nice feature when working with IntelliSense. If you hold down the “Ctrl” key while the IntelliSense drop-down is visible you’ll be able to switch it into a semi-transparent mode that enables you to quickly look at the code underneath without having to escape out of IntelliSense.External file references give the developer the ability to break up script code into different files, rather than trying to manage all of the code in a single file. Since you can organize your scripts into more than one external file, it is common that you may reference scripts from one file in another script file. References directives can be used to facilitate IntelliSense across multiple files. XML code comments are text descriptions that you add to your script. These text descriptions are displayed with IntelliSense when you reference an element in the script, such as a function or parameter. XML code comments are only available from referenced files, assemblies, and services.
Introduced in VS2005:Visual Studio 2005 introduced significant changes in its WYSIWYG design interface. Many of the complaints from previous WYSIWYG Web page editors was addressed. For example, markup format was not modified when switching to and from design view in the IDE.Nested master pages were introduced and supported in ASP.NET 2.0. They have become a valuable tool in making more efficient changes to Web page layouts. ASP.NET 2.0 supports this significant feature. Nested master pages enable both developers and designers to quickly and easily make changes to the layout of a site at multiple levels with minimal code changes. Nested master pages are a powerful feature but one of the things that made it difficult to adopt was that Visual Studio 2005 did not support nested master pages. Editing of content pages based on nested master pages was not possible through the designer.<Click for Animation>New in VS2008:In addition to supporting both design-view and source-view when editing pages, Visual Studio 2008 has added a split-view mode. This allows you to see both the HTML source and the Design View at the same-time, and easily have any changes you make in one view be updated in the other. This removes the need for publishing source or launching Internet Explorer, as the developer can see the results of the source code changes instantaneously in the Design View pane. The Split-view panes can be configured to layout horizontally or vertically.Visual Studio 2008 also adds support in the designer for nested master pages. Visual Studio 2008 fully supports nested master pages thus making their implementation no more difficult than a single master page. When adding new master pages to a project, the developer can select a master page to be its master. When adding a new master page through the “Add New Item” dialog, there is now a checkbox indicating we want to base this master page on a parent master page. In the designer, the entire hierarchy of nested master pages is viewable just like a single master page is. Thus allowing the editing of the content within a page based on a nested master page.
ASP.NET 3.5 extends ASP.NET 2.0 and includes better support for many of the new technologies like AJAX and Silverlight.AJAX is now included as part of ASP.NET 3.5 and no longer requires a separate download.ASP.NET is also now tightly integrated into the processing pipeline of IIS 7.0 in Windows Server 2008 and Windows Vista. As a result, many of the application services that were used in ASP.NET 2.0 are now available through IIS 7.0 as servicesWith the tight integration between ASP.NET and IIS 7 in version 3.5, this provider model can now service clients other than ASP.NET applications. Application services like Membership can be accessed via a web services from smart clients, desktop clients, etc.ASP.NET 3.5 also has its own set of new controls and integrates with more technologies like LINQ.And Visual Studio 2008 supports all of this through its WYSIWYG interface.
Microsoft ASP.NET AJAX enables you to quickly create Web pages that include a rich user experience with responsive and familiar user interface (UI) elements. ASP.NET AJAX provides client-script libraries that incorporate cross-browser ECMAScript (JavaScript) and dynamic HTML (DHTML) technologies, and it integrates them with the ASP.NET 2.0 server-based development platform. By using ASP.NET AJAX, you can improve the user experience and the efficiency of your Web applications.
The ASP.NET AJAX server components consist of ASP.NET Web server controls and components to manage the UI and flow of an application, and to manage serialization, validation, control extensibility, and so on. There are also ASP.NET Web services that enable you to access ASP.NET application services for forms authentication and user profiles.ASP.NET AJAX provides Web services that you can use from client script to work with ASP.NET application services for forms authentication and user profiles. This enables you to use client script to help protect resources by using forms authentication and to persist user-specific settings on the server. In addition, ASP.NET AJAX includes network components that make it easy to return results from any Web service call.UpdatePanel - UpdatePanel controls are a central part of Microsoft ASP.NET AJAX. They are used with the ScriptManager control to enable partial-page rendering. Partial-page rendering reduces the need for synchronous postbacks and complete page updates when only part of the page has to be updated. Partial-page rendering improves the user experience because it reduces the screen flicker that occurs during a full-page postback and improves Web page interactivity.Updates to the content of an UpdatePanel can be accomplished in multiple ways. This triggering of updates (postbacks) is usually done by one or more controls set as a trigger for the UpdatePanel. Controls in the content template for an UpdatePanel control that cause a postback are automatically configured as triggers for that UpdatePanel control. However, you might want to disable the automatic triggers and trigger a refresh of the UpdatePanel control from an external control only. This is possible by setting certain properties on the UpdatePanel itself.UpdateProgress - The UpdateProgress control enables you to provide feedback on the progress of partial-page rendering. For postbacks or initial page rendering, UpdateProgress control content is not displayed. There can be many UpdateProgress controls on a page, each associated with a different UpdatePanel control. Alternatively, you can use one UpdateProgress control and associate it with all the UpdatePanel controls on the page. The UpdateProgress control renders a <div> element that is displayed or hidden depending on where a postback originates and whether the AssociatedUpdatePanelID property of the UpdateProgress is set. Timer - The Timer control enables you to perform postbacks at a specified interval. When you use the Timer control as a trigger for an UpdatePanel control, the UpdatePanel control is updated by using an asynchronous, partial-page update. You must include a ScriptManager object in your Web page to use the Timer control.You use the Timer control to update an UpdatePanel control by either including the timer inside the UpdatePanel control, or by placing the timer outside the UpdatePanel control and setting the timer as a trigger.You can also initiate a postback of a complete Web page by including the Timer control in the Web page and not setting it as a trigger for an UpdatePanel control.You can run server code when the timer interval has elapsed by creating an event handler for the Tick event. In the event handler, you can include code that dynamically adjusts the behavior of the Timer control.
An Extender control targets another control and extends its functionality. Extenders, or Extender Controls, add AJAX or client-side behavior to existing ASP.NET controls. These controls are used in conjunction with their ASP.NET counterparts.Extender controls are tied to specific control types, so you may only use them with these controls. They include a TargetControlID property that is populated with the name of the control with which it will interact.Once the Extender control is added, it adds a new group of properties to the control with which it is associated. Visual Studio 2008 includes an “Add Extender” Smart Tag for more easily adding extender controls to a target control. The list of extender controls presented when selecting “Add Extender” Smart Tag is filtered based on the type of control it is being attached to. Only those extenders that have been targeted to work with the specific target control will be displayed.Custom extender controls can be built by inheriting from Microsoft.Web.UI.ExtenderControl.
Namespaces and their descriptions:Global Namespace Contains members and types that extend base ECMAScript (JavaScript) objects and that provide members that are more familiar to .NET developers. Includes extensions for the JavaScript Array, Boolean, Error, Number, Object, and String types.Sys Represents the root namespace for the Microsoft AJAX Library, which contains all fundamental classes and base classes.Sys.NetContains types related to communication between ASP.NET AJAX client applications and Web services on the server.Sys.SerializationContains types related to data serialization for ASP.NET AJAX client applicationsSys.ServicesContains types that provide client script access in ASP.NET AJAX to ASP.NET authentication service, profile service, and other application services.Sys.UIContains types related to user interface (UI), such as controls, events, and UI properties in the Microsoft AJAX Library.Sys.WebFormsContains types related to partial-page rendering in the Microsoft AJAX Library.
The toolkit is a shared-source community project consisting of samples and components that make it easier to work with AJAX-enabled controls and extenders. The ASP.NET AJAX Control Toolkit provides both ready-to-run samples and a powerful SDK to simplify creating custom ASP.NET AJAX controls and extenders. It uses ASP.NET AJAX Extensions, which must be installed to utilize the toolkit.The ASP.NET AJAX Control Toolkit includes 40+ controls. There are two types of controls. There are new controls that may be used in your Web application. These controls provide new functionality that is not currently available. A few examples of new controls are the Accordion, TabContainer, and TabPanel controlsOn the other hand, the toolkit provides Extender controls, which add AJAX or client-side behavior to existing ASP.NET controls. These controls are used in conjunction with their ASP.NET counterparts. A few examples of these controls are ConfirmButtonExtender, CalendarExtender, and DragPanelExtender.
DataSourceControl pattern was introduced with ASP.NET 2.0The LinqDataSource control enables you to use LINQ in an ASP.NET Web page by setting properties in markup text. The LinqDataSource control uses LINQ to SQL to automatically generate the data commands.When you are retrieving data from an in-memory data collection, you set the ContextTypeName property to the object that contains the data collection. You set the TableName property to the property or field that returns the data collection. When you are querying a database, you must first create entity objects that represent the database and its tables. You can use the Object Relational Designer or the SqlMetal.exe utility to generate these objects. You then set the ContextTypeName property to the object that represents the database and set the TableName property to the object that represents the database table. The LinqDataSource control applies data operations in the following order:Where (specify which data records to return).Order By (sort).Group By (aggregate data records that share values).Order Groups By (sort grouped data).Select (specify which fields or properties to return).Auto-sort (sort data records by a property that the user has selected).Auto-page (retrieve a subset of data records that were selected by the user).
ASP.NET processing is now integrated with broader IIS processingmodularity allows us to completely integrate IIS7 and ASP.NET processing and in the process enable a whole new set of scenarios where .NET components and services can process all requests not just ASP.NET.These changes will not break your existing apps. In fact you don’t even have to adopt these changes because in IIS7, there are two processing modes that are selectable per worker process. The first is called Classic mode and it will treat ASP.NET just like it did in IIS6. In IIS6, ASP.NET has a separate processing pipeline of its own that executed as an ISAPI extension to IIS. To IIS, ASP.NET was just a black box. This way of processing ASP.NET has limitations, for example, ASP.NET can only touch a request at one point in the IIS pipeline, it cannot alter a request before or after ASPNET ISAPI is called. Also, you can only use built-in ASP.NET components like Forms Authentication for requests mapped to ASP.NET, even though you may want to apply them to images, documents or other scripted pages like ASP.In IIS7 Integrated mode, the separate pipeline and its limitations go away.ASP.NET components are now integrated with IIS components to form one unified request processing pipeline. Both native and managed modules subscribe to one generic set of pipeline events.ASP.NET services and extensions can touch all requests, and plug into any point in the HTTP request processing pipeline. This allows ASP.NET developers to reuse ASP.NET services like Membership, logging and caching on other content types like ASP pages or static images. It also gives them the power of .NET when extending their Web server because httpModules built with ASP.NET APIs are now treated like first class IIS components. If you aren’t an ASP.NET developer, this is still really great news for you because for the first time it opens up the .NET side of our pipeline to apply to your PHP or ASP pages.