ASP.NET has travelled a long way through evolutions. Earlier when ASP.NET 1.0 was released as part of .NET Framework 1.0 in Jan 2002, there was only ASP.NET – a framework for building dynamic web applications and it provided lots of flexibility web developers in building robust, dynamic web applications. ASP.NET was and is the successor to Microsoft’s Active Server Pages (ASP) technology.

ASP.NET is built on the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET language. The ASP.NET SOAP extension framework allows ASP.NET components to process SOAP messages.

From that, today we reached ASP.NET 4.5 and platform/web framework has changed a lot through the 10 years of journey.

Before going further lets go through a quick summery of additions in each releases:

ASP.NET 1.0 (January 16, 2002)

Object-oriented Web application development supporting inheritance, polymorphism and other standard OOP features

Support for generic HTML controls and ASP.NET dynamic web controls

Event based programming

The developer can make use of DLL class libraries and other features of the Web server to build more robust applications that do more than simply rendering HTML.

Integrated development support using Visual Studio .Net 2002

ASP.NET 1.1 (April 24, 2003)

With ASP.NET 1.1 – an update to .NET framework 1.0 called as .Net framework 1.1 – we received support for Mobile Web Controls, Automatic input validation

Integrated development support using Visual Studio .Net 2003

ASP.NET 2.0 (November 7, 2005)

ASP.NET 2.0 introduced major updates to ASP.NET framework with introduction of Master pages and new data controls.

ASP.NET AJAX has been introduced as a separate installer. Included ScriptManager, UpdatePanel etc.

ASP.NET 3.5 (November 19, 2007)

This was an incremental update to ASP.NET 2.0 and .NET Framework 2.0. Base level the Runtime was depending on .NET Framework 2.0 and set of additional runtime extension components been introduced in this release.

The interesting features included in this release were:

Integrated development support using Visual Studio 2008

New data controls (ListView, DataPager, LinqDataSource)

ASP.NET AJAX included as part of the framework

Support for HTTP pipelining and syndication feeds.

WCF support for RSS, JSON, POX and Partial Trust

All the .NET Framework 3.5 changes, like LINQ etc.

With .NET Framework 3.5 Service Pack 1, some more features been introduced

Integrated development support using Visual Studio 2008 – Service Pack 1

Incorporation of ASP.NET Dynamic Data

Entity Framework support

Support for controlling browser history in an ASP.NET AJAX application

Ability to combine multiple JavaScript files into one file for more efficient downloading

New namespaces System.Web.Abstractions and System.Web.Routing

JQuery is included as part of the template.

ASP.NET MVC is born

Now ASP.NET framework is spitted in to three based on the purpose

ASP.NET Core Services – all the major ASP.NET runtime components has been built in to this and will act as a base layer for all other ASP.NET components such as Web Forms, MVC, Dynamic Data etc.

Now we have three Presentation Frameworks/Components that utilizes the ASP.NET Core runtime components

ASP.NET Dynamic data – the quick and easy – rapid application development model with help of LINQ and Entity Framework. ASP.NET Dynamic Data helps you quickly build a fully customizable, data-driven application without writing code. Dynamic Data provides a rich scaffolding framework that is easily extensible by using the traditional ASP.NET programming model.

ASP.NET 4.0 (April 12, 2010)

The .NET Framework version 4 includes enhancements for ASP.NET 4 in targeted areas. Visual Studio 2010 and Microsoft Visual Web Developer Express also include enhancements and new features for improved Web development.

The interesting features included in this release were:

Integrated development support using Visual Studio 2010

jQuery Included with Web Forms and MVC

Content Delivery Network Support

Setting Meta Tags with the Page.MetaKeywords and Page.MetaDescription Properties

This was a long awaited release since ASP.NET 4.0, which includes the new improved support for Web Pages, MVC and new Web API support. With the release of .NET Framework 4.5 and Visual Studio 2012, decided to go away from Service Packs and release incremental updates whenever available.

SignalR

SignalR is a new member of the ASP.NET family that facilitates adding real-time functionality to web applications using WebSockets and other down-level transports. SignalR is a self-contained library installed via NuGet that is targeting a 1.0 RTW as part of the Fall Update. This will include item templates for adding SignalR connections and hubs to an ASP.NET application as well as a full project template that integrates with ASP.NET MVC and ASP.NET Web API.

Now the ASP.NET ecosystem would look as in the image, with 2012.2 release: Single platform – multiple, extensible solutions

[Image courtesy Scott Hanselman’s blog]

Scott Hanselman of Microsoft Quotes:

The idea behind One ASP.NET is that we want folks to be able to make apps that have real-time components with SignalR, clean, simple APIs with Web API, all in one pages with KnockoutJS, pages with MVC, Web Forms or Web Pages, as well as existing ASP.NET systems like OData, ASMX, and more.

We want open source projects like JSON.NET, KnockoutJS, SignalR, Backbone, MongoDB, Scaffolding, NHIbernate, Ninject (and the list goes on) to all play in the same ASP.NET LEGO sandbox.

We’ll put all these subcomponents on NuGet and they’ll live alongside community components and you’ll be able to build ASP.NET applications starting from some base template and add just the pieces you want. We are getting there. We want folks to use the parts they want, and swap out the parts they don’t. Everything should work together.

ScottGu Quotes
The new runtime functionality is delivered to ASP.NET via additional NuGet packages. This means that installing this update does not make any changes to the existing ASP.NET binaries, and thus does not cause any compatibility issues with existing projects. New projects will contain the new functionality and existing projects can be updated with the new NuGet packages.

Now with ASP.NET 4.5 and Updates we reached a place where we have a vast variety of technologies to choose from, to develop rich, dynamic web applications for Desktop browsers as well as for mobile browsers.

ASP.NET Ecosystem is growing and is moving in the right pace with the release to open source development of most of the components through http://aspnet.codeplex.com/

It is challenging and interesting for ASP.NET developers to be able to develop using such cutting edge technologies.

In my previous post I shared some information on API’s/Classes included as part of System.IO.Compression namespace in .NET Framework 4.5, and given on overview of ZipArchive class. Once such class I would be sharing some insight with post today would be ‘ZipFile‘ class. The ZipFile class provides convenient static methods for working with zip archives:

CreateFromDirectory (3 overloads) – Creates a zip archive that contains the files and directories from the specified directory, uses the specified compression level and character encoding for entry names, and optionally includes the base directory.

ExtractToDirectory ( 3 overloads) – Extracts all the files in the specified zip archive to a directory on the file system and uses the specified character encoding for entry names.

Open (2 overloads) – Opens a zip archive at the specified path, in the specified mode, and by using the specified character encoding for entry names.

OpenRead – Opens a zip archive for reading at the specified path.

To use these methods, you must reference the System.IO.Compression.FileSystem assembly in your project.

NB:

The System.IO.Compression.FileSystem assembly is not available for Windows Store apps. Therefore, the ZipFile class and ZipFileExtensions class (which is also in the System.IO.Compression.FileSystem assembly) are not available in Windows Store apps.

For the purpose of explaining how to use the above methods – I followed the below steps :

Created a console application in visual studio.

Added Reference to System.IO.Compression and System.IO.Compression.FileSystem assemblies which is part of .NET Framework 4.5.

Created a folder called “Files” and created some plain text files(.txt extension) , this would be out source folder to zip. And created two additional folder for storing zip files(Output) and ExtractLocation folder to extract the zip files.

With release of .NET Framework 4.5, Microsoft has introduced new classes in to System.IO.Compression namespace. These classes will add the necessary programming support for Zipping(Achiving), and Extracting support for Zip Files in your .NET Source Code.

Below are the newly introduced classes as part of .NET Framework 4.5:

ZipArchive – Represents a package of compressed files in the zip archive format.

Here is the quick sample that would help you to understand how to use ZipArchive class. Code is self explanatory – hope that helps. There are three methods ZipFiles – zip all files in a folder, ExtractFile – to extract files with specificname, ExtractFiles – extract multiple files.

Please go through the below code snippet. If you need additional information: visit MSDN Ref on System.IO.Compression, and in later posts we might discuss about the ZipFile class in more detail.

1. Web Installer (vs_ultimate.exe): – which will download all necessary packages from the download source location before installation.

2. Download a DVD5 ISO image (VS2012_ULT_ENU.iso): you can use it for offline installation. The ISO image contains all the necessary software’s for the installation. You can download the ISO image directly and install it.

Microsoft has announced the RTM(Release to manufacture) of Visual Studio 2012.

For MSDN Subscribers, the bits will be available for download on August 15th. Visual Studio Professional, Premium, Test Professional, and Ultimate with MSDN Subscribers can also sign up for a free, one year developer account for Windows Store today, with Windows Phone developer accounts coming soon.

Microsoft has released Visual Studio 2012 RC and is available for download through MSDN as well.

Visual Studio Ultimate 2012 RC is the state-of-the-art development solution that empowers teams of all sizes to design and create compelling applications to delight users. You can use flexible agile planning tools—like capacity planning, taskboards, and backlog management—to enable incremental development techniques and agile methodologies, at your own pace. Use advanced modeling, discovery, and architecture tools to describe your system and help ensure that your architecture vision is preserved in the implementation. Bring development and operation teams together by using IntelliTrace in production, Operations Manager Connector, and Preemptive Analytics. Improve quality and reduce time to resolution by generating actionable bugs from deployed software, and effectively partner with the operation staff to provide data that gives developers greater insight into production issues.

“In learning you will teach, and in teaching you will learn.” -Phil Collins

About

Nithin Mohan – A passionate hardcore application programmer, software architect, and technology evangelist with over 13 years of experience in Web, Mobile, and Cloud applications design and development.
A hardware geek, a kick-starter, and a quick learner.

Disclaimer:
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way. This blog is to share knowledge, tips & tricks on software development using Emerging Technologies. Thanks to the readers and sincere thanks to all author's of crossposted blogs. Blog is powered by theme gitsta, customized for this blog. Enjoy reading the blog and subscribe to the RSS feed.