Programmer's Heaven

Programmer's Heaven
Picture

Monday, June 7, 2010

.NET 4.0 New Features

Hi,



This article is an introduction to some of the new features in ASP.NET 4.0 Along with VS2010.


New Profiles


We have seen different development profiles in previous versions of .NET. Like VB, C#, Web Development, and General Development. We select a profile based on our priorities. These are selected after the first installation of Visual Studio or from the Import Export option.

In VS2010, two more profiles are introduced and both support HTML developers. Those are:
1. Web Development


2. Web Development (Code Optimized)


Note:


The Web Development profile hides the client objects and events bar on top in HTML mode.


In Code Optimized, you will find the HTML editor without code, and the designer tabs. So, it provides a more bigger area on the screen to play with HTML.


Generate From Usage


In previous versions of ASP.NET, Microsoft introduced code refactoring to generate methods and identifiers from existing code. In ASP.NET 4.0, there is a new concept of Generate From Usage - generates properties, methods, classes, and other types based on existing code.


Write some code, select it and right click on the left most character, and you will get options to change it to a property or method etc. This option is shown only if you do not define an identifier. For example, in intellisense, it will not show the options to extract a property if you right click on the variable i.(i as a Variable)


Multi Targetting


In VS2008, it is possible to create a project in version 2.0 or 3.0, rather than developing in default 3.5. Also, there is an option to change a developed project's target framework version.


The same option is available in VS2010, but with one improvement. In the previous versions, if you create a project in framework 2.0, intellisense will still show you the types and members of 3.5 version as well, so there are more chances of error if you cannot identify the member of the chosen framework. But in VS2010, the intellisense will show you options for the appropriate framework only.So there is no chance of error based on Framework even you have 'N' numbers.

Code Snippets


Code snippets are pre-developed code templates which can save time spent on thinking about the syntax. There are already a lot of built-in code snippets in VS2005 and VS2008. However, those are only available for the code-behind. Code snippets in VS2010 are introduced for:


JScript


HTML

ASP.NET markup as well. In the screenshots below, we can see different snippet context menus for JScript and HTML.


Multi Monitoring


Visual Studio 2010 provides us facility to move windows of the IDE outside of the Visual Studio IDE and place them on the desktop area. It also supports having different IDE windows on multiple monitors. If we close Visual Studio and open it again, we will find all the windows on the same places where we finished them last time.So the Comparison also Easy.


Improvement in Intellisense


In VS2008, on selecting properties for an object, intellisense will show you the properties based on the alphabetical order as you type.


In VS2010, it shows you the properties based on groups. For example, if you type text for a text box, it will show you the members based on the word text, like Text, TextChanged, TextMode. It also supports Pascal case intellisense. For example, if you type TC, it will navigate to the TextChanged member.


Enable Persist Selection
On selecting a row in controls like DataList or GridView, if we move to another page index, it selects the same numbered row on the newly selected page, although we selected it only on the first page.


To avoid this, ASP.NET 4.0 has introduced a new property for these controls, called EnablePersistedSelection. If you set it to true, it will not select the same numbered row on other pages, and on navigation to the original page, for example, the first page, it will show the initially selected row as selected.


Web.Config
Normally, we set some values in web.config for the development environment, and then we change those values manually at the time of deployment or testing.


For example, if we have a connection string or any key value combination in the web.config file, and we want to replace those at the time of project publishing or deployment, then we can use the new web.config transformation. It is an automatic way to perform this operation.


Web.config settings can be overridden by other config files like web.release.config, web.debug.config etc., at the time of debug, release. These values are not overridden in the original web.config but in the published web.config.


Compressing Session Values:


ASP.NET session out-of-process state values are saved in a database or on the server. These are saved in a serialized format. Bigger session values consume more resources to be sent to the server. Now, those can be compressed with a new built-in property compressionEnabled. This attribute for the sessionState element can be mentioned in the web.config, like this:


sessionState mode="SQLServer" stateConnectionString="connectionstring goes here" compressionEnabled="true"


This option avail for out-of-process sessions.


In C#


C# in .NET Framework 4.0 has some more things to offer. These are:




Dynamic Lookup
There is a new static type named dynamic. We can use it as object of any type. If there is any error on its usage, we would get it on runtime only,






For example:
dynamic integerValue = 5; dynamic stringValue = " string"; dynamic Result = integerValue + stringValue;






Output: 5 string


But if you change the last line like,
dynamic Result = integerValue & stringValue;
You will get an Error message at Run time.










Optional Parameters


Optional parameters, we used to create overloaded functions before ASP.NET 4, but now, optional parameters are no more a restriction in C#. Like VB, optional parameters must be mentioned last.


Example,


public void FunctionOptionalParam(string Name, int Age, string Country = "")
and we can call them without mentioning the value for the optional parameter.










Named Parameters


Named parameters allow you to ignore the parameter order and mention parameters with names in a different order. For example:


public void FunctionNamedParam(int x, int y , int z)


On function call


FunctionNamedParam(x:1, z:3, y:2);


Although we are sending a value for the parameter z before its order in the function declaration, but these would be equal to x=1, y=2, z=3.




Meta Tags


The HtmlMeta class can be used to add HTML meta tags dynamically. HTMLMeta's Name, Content properties can be used to add any meta tag name and its values dynamically on runtime.


There are many more New Concepts available in VS2010.

No comments:

Post a Comment