You are on page 1of 24

ACKNOWLEDGEMENT

I express my heartful regards and deep sense of gratitude to my guide and college , for making us acquainted with the technique of programming and whose guidance throughout the entire work enabled me to complete this project successfully. Without friendly approach, it would have been difficult to achieve the result in a short span of time. I record our appreciation and special thank for the co-operation that I have received from my project for providing encourage. I express my sincere regards to my parents and my helpers for their advice as well as guidance for making this work successful. The harmonious climate in our department also provides me the proper academic setting. Finally I am thankful to almighty GOD for his blessing that helped me in completing my project. for devotion to solve various problems of

To Whom It May Concern: I have a great pleasure in certifying that Rajesh Kumar is the student of MCA at . During the session 2009-10 she has worked independently on the development of the project entitled JUST TRAVEL. The report has been completed with great care. I recommend sending it for further evaluation.

PROJECT

Just Travel
(PROJECT GUIDE) (PRINCIPLE)

(SUPERVISOR)

(STUDY INCHARGE)

PREFACE

The project has been made with the prime motive of making the manual JUST TRAVEL to be computerized. I our daily jobs computers are commonly used, so with the advancement of technology computers are used in every field of life. Its wide area of application has made its importance for great. As a computer plays a great role in our life, developing a system requires a systematic approach for every phase in software development life cycle (SDLC). To make a software, first of all the requirements for the computerized system has been found. Then information from various sources has been collected to find the weakness of manual system. After the analysis phase, design is prepared for this S/W. It includes the database design, form design, screen design. After designing, testing and implementation of system took place. System was test to check its validity. Then post implementation and enhancement phase was there. Last part was the conclusion part. It explains the successful implementation of the S/W.

INTRODUCTION TO VISUAL STUDIO 2010 ULTIMATE


Visual Studio is a complete set of development tools for building ASP.NET Web applications, XML Web Services, desktop applications, and mobile applications. Visual Basic, Visual C#, and Visual C++ all use the same integrated development environment (IDE), which enables tool sharing and eases the creation of mixed-language solutions. In addition, these languages use the functionality of the .NET Framework, which provides access to key technologies that simplify the development of ASP Web applications and XML Web Services.

Visual Studio 2010 Product Highlights


This topic contains information about some of the important enhancements in Visual Studio 2010.

Visual Studio IDE Improvements


The following sections describe improvements to the Visual Studio IDE.
New Appearance and Behavior

The following illustration shows the Visual Studio integrated development environment (IDE). Visual Studio IDE

Visual enhancements The IDE has been redesigned for improved readability. Unnecessary lines and gradients have been removed to reduce clutter.

Support for multiple monitors Document windows such as the Code Editor and the Design view window can now be placed outside the IDE window. For example, you can drag the Code Editor out of the IDE so that you can view it and the Design view window side by side.

Tools to Help You Quickly Explore Code

Code Editor The new Code Editor makes code easier to read. You can zoom in on text by pressing CTRL and scrolling with the mouse wheel. Also, when you click a symbol in Visual C# or Visual Basic, all instances of that symbol are automatically highlighted. For more information, see What's New in the Visual Studio 2010 Editor.

Search-As You Type The new Navigate To feature provides search-as-you-type support for files, types, and members. Navigate To enables you to take advantage of Camel casing and underscores to abbreviate your search text. For example, you can use "AOH" to search for "AddOrderHeader." For more information, seeHow to: Search for Objects, Definitions, and References (Symbols).

Call Hierarchy In Visual C# and Visual C++, Call Hierarchy enables you to navigate from a member to the members that call it and to the members that it calls. This is useful for exploring object-oriented code. For more information, see Call Hierarchy.

Debugging

A redesigned Threads window provides filtering, call-stack searching and expansion, and grouping. Also, you can now organize and search breakpoints and share them with other developers. For more information, see What's New in the Visual Studio Debugger. The new Parallel Stacks and Parallel Tasks windows help you to visualize and debug parallel code that is written in C++, C#, or Visual Basic.
IDE Features Correspond to Project Capabilities

Features in the IDE, such as Add Reference and the Toolbox, now correspond to the version of the .NET Framework or Silverlight that your project targets. As a result, types, members, and controls from assemblies that target an earlier version of the .NET Framework do not appear in IntelliSense and produce background compilation errors. For example, if your project targets .NET Framework 2.0 and you use a language feature that .NET Framework 2.0 does not support, such as anonymous types, the IDE will mark the code as an error.
Test-First Support

In Visual Basic or Visual C#, the IDE can now generate code stubs for new types and members from their usage before they have been defined. As a result, you can write tests first, and then generate the code that is required to compile the tests. Additionally, IntelliSense now provides a suggestion mode that prevents IntelliSense from automatically completing a type or member that has not yet been defined.

Application Lifecycle Management

The Application Lifecycle Management client application is now available in all versions of Visual Studio (excluding Express versions). Application Lifecycle Management includes version control, work item tracking, build automation, a team portal, reporting and business intelligence, Agile Planning Workbooks, and test case managementeverything that you need to collaborate on your software development projects. Application Lifecycle Management is included in Visual Studio 2010 with one Client Access License (CAL). You can purchase additional Client Access Licenses as needed.
Code Generation and Text Templates

Text templates can be created and used in any version of Visual Studio, without the need for any other component. Generating any kind of text file from your application has been made easier in Visual Studio 2010 with the introduction of Preprocessed Text Templates. Support for code generation has also been improved through better integration with the build system, so that your generated source code is always up to date after any change to the source model.
Start Page

The Visual Studio 2010 Start Page features a new look and new functionality. A tabbed content area links to a variety of selected and categorized learning resources. This includes MSDN resources, community resources, and a customizable news feed. An improved Recent Projects list lets you add projects to the list or remove them with a single mouse click. You can also install custom Start Pages from Extension Manager.
Extension Manager

You can find and install Visual Studio extensions from the IDE by clicking Extension Manager on the Tools menu. Extension Manager downloads and installs community-published extensions from the Visual Studio Gallery Web site without requiring that you open a browser. It also enables you to uninstall, disable, or re-enable installed extensions.
New Project Dialog Box

The New Project dialog box in Visual Studio 2010 includes the same search and install capabilities as the Extension Manager, except that it searches only for project templates and item templates.
New Help Viewer

The Help Viewer has been completely redesigned for Visual Studio 2010. You can view documentation online or offline by using your preferred Web browser, download the latest documentation on demand, navigate the documentation by using a simplified table of contents, search for specific content by using an improved full-text search algorithm, and use a more streamlined F1 system to locate content specific to the task that you are working on.

Visual Basic and C# Languages


In Visual Studio 2010, the Visual Basic and C# languages continue to move toward feature parity. This enables you to choose a language based on personal preferences because both languages are equally capable. This section lists some of the new features in C# and Visual Basic.
Visual Basic Language

Visual Basic has new features that shorten syntax and enable you to write code faster. These features include auto-implemented properties, implicit line continuation, collection initializers, and single- and multi-statement lamdba expressions. Additionally, Visual Basic now supports simplified deployment through type equivalence.
C# Language

The new features in the C# language work together to simplify programming with the Microsoft Office APIs. With named and optional arguments, you no longer have to specify values for every optional parameter when you call COM methods. With dynamic support, you can reference any object, such as return values from COM APIs or dynamic languages, without using an explicit type cast. Indexed properties and optional ref modifiers facilitate access to COM interfaces. Also, type equivalence support simplifies deployment by embedding types from primary interop assemblies (PIAs) directly in your assembly.

Visual F#
Visual Studio 2010 includes F#, a new .NET Framework language that supports functional programming and traditional object-oriented and imperative (procedural) programming. F# combines the succinct, expressive, and compositional style of functional programming with the runtime, libraries, interoperability, and object model of the .NET Framework. In other words, you get the best of both paradigms.

Office Development
Visual Studio 2010 includes project templates and tools that you can use to create solutions that extend Microsoft Office 2010 and the 2007 Microsoft Office system. You can take advantage of new development features for Office projects, such as expanded Ribbon Designer support for Microsoft Office 2010 applications and the ability to create Office solutions that do not require the Office primary interop assemblies on end user computers. You can also use new deployment features in Office projects, such as the ability to deploy Office solutions to all users on a computer.

Data Access and Modeling


.NET Framework 4 includes enhancements to the ADO.NET Entity Framework that further decrease the amount of coding and maintenance required for

data-driven applications. In Visual Studio 2010, improved flexibility and customization options in the ADO.NET Entity Data Model Tools make it easier to create Entity Framework applications.

Web Development
Visual Studio 2010 includes improvements that speed up code authoring, simplify Web deployment, and more.
Faster Code Authoring

Code Snippets Visual Studio 2010 includes Code Snippets for HTML, JScript, and ASP.NET controls to help you write code faster. You can insert snippets from the Code Snippets Manager or directly from IntelliSense.

Dramatically Improved IntelliSense for JScript IntelliSense now parses 2 to 5 times faster, so there is virtually no processing delay, even with large script libraries.

IntelliSense accepts diverse coding styles so that you get full IntelliSense support for almost every library. IntelliSense displays XML documentation comments as you type.

Simplified Web Deployment

With Visual Studio 2010, you can package and publish your Web application in one click.

Web Packages The Web Deployment Tool, also known as MSDeploy, enables you to package your Web application for deployment to an Internet Information Services (IIS) Web server. A Web package is a .zip file or a folder structure that includes everything a Web server needs to host your application. It contains Web content, IIS settings, database scripts, components, registry settings, and certificates. The Web Deployment Tool has been integrated into Visual Studio and enables you to create Web packages with one click.

One-Click Publishing You can now publish to a server by using the Web Deployment Tool, FTP, folder copying, or FrontPage Server Extensions in one click. Visual Studio stores all the setting information, such as publish method, server information, and user credentials.

Web Configuration Transformations You can now configure your project to transform the web.config file during deployment. When you deploy the project, the settings in web.config automatically match the settings on your debug, staging, and production servers.

Other Additions

Visual Studio 2010 also includes new features for ASP.NET and support for MVC-Based Web applications.

WPF and Silverlight Designer


In Visual Studio 2010, various designer improvements have been made to help you create Windows Presentation Foundation (WPF) and Silverlight applications.
Improved Support for Silverlight

In Visual Studio 2008, the designer support for Silverlight projects is limited to a read-only Preview window. In Visual Studio 2010, the designer support is the same for Silverlight as it is for WPF projects. For example, in Silverlight projects you can now select and position items with a mouse on the designer surface.
Drag-and-Drop Data Binding for WPF

After you add a data source to your project, you can generate data-bound Windows Presentation Foundation (WPF) controls by dragging items from the Data Sources window to the WPF Designer.
Visualizing WPF objects

The debugger in Visual Studio 2010 includes the WPF Tree visualizer, which displays WPF objects in a more useful way. When you invoke the visualizer on a WPF object from the Watch window, you see the object displayed as a tree and a list of properties.

Visual C++ Development


Following are some of the new Visual C++ features.
Improved User Experience

A number of improvements have been made to make the Visual C++ IDE more responsive, especially when you work with large applications. Many IDE components, such as the IntelliSense engine, now parse and process files in the background. You no longer have to wait for Visual Studio to re-process the whole project every time that you modify a header file, switch between project elements, or reconfigure your project from debug to release. The new IntelliSense is more accurate because it handles advanced C++ code constructs and conditionally defined macros that the old version could not handle.
Improved IntelliSense Error Reporting

In earlier versions of Visual Studio, it can be unclear why IntelliSense fails for a line of code. In Visual Studio 2010, the IDE detects code that will cause a loss of IntelliSense and underlines that code with a red wavy line. In addition, the IDE reports any IntelliSense errors to the Error List window.

You can double-click the error in the Error List window to go to the code that is causing a problem.
#include Automatic Completion

The IDE now supports automatic completion for the #include keyword. When you type #include, the IDE creates a list of valid header files. As you continue typing, the IDE filters the list based on your typing. At any time, you can select the file that you want to include. This enables you to quickly include files without knowing the exact file name.
Targeting of Specific Compilers and Libraries

In Visual Studio 2010, Visual C++ projects can target either the toolset in Visual Studio 2010 or the toolset in Visual Studio 2008. This enables you to take advantage of the IDE enhancements in Visual Studio 2010 while you continue to use an earlier version of the Visual C++ libraries and compiler. To switch between toolsets, you are only required to change one property in your project file.
MFC Class Wizard

In Visual Studio 2010, the MFC Class Wizard is reintroduced. This wizard can be started from anywhere in your solution. It enables you to add classes, messages, and variables without having to manually change individual code files.
Build Improvements

Visual C++ projects use a new file format (.vcxproj) that replaces the old format (.vcproj). To build projects, you now use MSBuild.exe instead of VCBuild.exe. MSBuild, which is the build platform for Microsoft, provides several benefits, including better diagnostics, extensibility, and integration.
Restart Manager Support

Visual Studio now supports the restart manager in Microsoft Foundation Classes (MFC) applications. The restart manager is a Windows feature that protects users against accidental data loss by regularly saving open documents. If your application stops unexpectedly, the restart manager restarts the application and gives the user the option of restoring the automatically saved data. You can add this functionality to an existing application by adding just one line of code and recompiling. By using the restart manager, you can greatly reduce the chances of accidental data loss in your applications.
New C++0x Language Features

The Visual C++ compiler introduces five new features to support the C++0x standard: lambda expressions, rvalue references, compile-time assertions, expression type discovery, and automatic type deduction.

Parallel Programming

You can now write programs that distribute work across multiple processors without having to work directly with threads or the thread pool. Visual Studio 2010 includes parallel computing libraries for both the C runtime library (CRT) and the .NET Framework. You can also debug native and managed applications by using the new multithreading tools in the Visual Studio debugger.
Parallel Programming in the .NET Framework

.NET Framework 4 includes new libraries that support task and data parallelism, a parallel implementation of LINQ to Objects called Parallel Language Integrated Query (PLINQ), and various new data types for synchronization and concurrency. These libraries rely on a new task scheduler that is integrated with the .NET Framework thread pool.
Parallel Programming in Visual C++

The C runtime library now includes the Concurrency Runtime, which is a concurrent programming infrastructure for C++.
Parallel Programming Tools

The following are some tool enhancements that support parallel programming.

Debugging The debugger includes new Tasks and Multi Stack windows that enable you to do the following:

View a list of Task instances that are running in an application. View the call stacks for Task instances. Navigate to code from the debugger.

SharePoint Development
In Visual Studio 2010, SharePoint development is significantly improved. You can create, edit, debug, package, and deploy and activate SharePoint projects from within Visual Studio. Site deployment is as easy as pressing F5. You can even browse SharePoint sites by using Server Explorer/Database Explorer.

Cloud Computing Tools


In Visual Studio 2010, you can easily install and enable Windows Azure Tools. Windows Azure Tools enable you to build scalable Web applications and services on Windows Azure. To enable Windows Azure Tools, click Cloud Services in the New Project dialog box.

New in Visual Basic 2010


This page lists the new and enhanced features available in Visual Basic 2010. Click the links in the following sections to read more about a feature.

Visual Basic Compiler and Language


Auto-Implemented Properties

Auto-implemented properties provide a shortened syntax that enables you to quickly specify a property of a class without having to write code to Get andSet the property.
Collection Initializers

Collection initializers provide a shortened syntax that enables you to create a collection and populate it with an initial set of values. Collection initializers are useful when you are creating a collection from a set of known values, for example, a list of menu options or categories.
Implicit Line Continuation

In many cases, implicit line continuation enables you to continue a statement on the next consecutive line without using the underscore character (_). For a list of all the cases in which you can omit an underscore character, see Statements in Visual Basic.
Multiline Lambda Expressions and Subroutines

Lambda expression support has been expanded to support subroutines in addition to multiline lambda functions and subroutines.
New Command-Line Option for Specifying a Language Version

The /langversion command-line option causes the compiler to accept only syntax that is valid in the specified version of Visual Basic.
Type Equivalence Support

You can now deploy an application that has embedded type information instead of type information that is imported from a Primary Interop Assembly (PIA). With embedded type information, your application can use types in a runtime without requiring a reference to the runtime assembly. If various versions of the runtime assembly are published, the application that contains the embedded type information can work with the various versions without having to be recompiled.
Dynamic Support

Visual Basic binds to objects from dynamic languages such as IronPython and IronRuby.
Covariance and Contravariance

Covariance enables you to use a more derived type than that specified by the generic parameter, whereas contravariance enables you to use a less derived type. This allows for implicit conversion of classes that implement variant interfaces and provides more flexibility for matching method signatures with variant delegate types. You can create variant interfaces and delegates by using the new In and Out language keywords. The .NET Framework also introduces variance support for several existing generic interfaces and delegates, including the IEnumerable (Of T) interface and the Func (Of TResult) and Action (Of T) delegates.

Integrated Development Environment


The following sections describe enhancements to the Visual Studio integrated development environment (IDE).
Navigate To

You can use the Navigate To feature to search for a symbol or file in source code. You can search for keywords that are contained in a symbol by using Camel casing and underscore characters to divide the symbol into keywords.
Highlighting References

When you click a symbol in source code, all instances of that symbol are highlighted in the document. For many control structures, when you click a keyword, all of the keywords in the structure are highlighted. For instance, when you click If in anIf...Then...Else construction, all instances of If, Then, ElseIf, Else, and End If in the construction are highlighted. To move to the next or previous highlighted symbol, you can use CTRL+SHIFT+DOWN ARROW or CTRL+SHIFT+UP ARROW.
Generate From Usage

The Generate From Usage feature enables you to use classes and members before you define them. You can generate a stub for any class, constructor, method, property, field, or enum that you want to use but have not yet defined. You can generate new types and members without leaving your current location in code. This minimizes interruption to your workflow. Generate From Usage supports programming styles such as test-first development.
IntelliSense Suggestion Mode

IntelliSense now provides two alternatives for IntelliSense statement completion: completion mode and suggestion mode. Suggestion mode is used when classes and members are used before they are defined.

Sample Applications

Visual Basic includes new sample applications that demonstrate the following features: auto-implemented properties, implicit line continuation, collection initializers, covariance and contravariance, and multiline lambda expressions and subroutines.

New in Deployment
Deployment in Visual Studio 2010 has changed with the enhancement of ClickOnce deployment and Windows Installer deployment.

Windows Installer
Windows Installer deployment enables you to create installer packages to distribute to users. Windows Installer deployment is updated in Visual Studio 2010 Professional for the latest .NET Framework versions. You can target the .NET Framework 4 or ASP.NET 4 versions in your applications and Web applications. Additionally, you can check that any version of the .NET Framework is installed on the end-user computer, rather than checking for a specific version of the .NET Framework.
InstallShield 2010 Limited Edition

Starting in Visual Studio 2010, you can deploy applications by using the free InstallShield 2010 Limited Edition, which replaces functionality in the Visual Studio setup and deployment project templates. If your deployment requires more advanced customization, you can upgrade to the full version of InstallShield.

ClickOnce
ClickOnce deployment enables you to deploy self-updating Windows and console applications that can be installed, updated, and run from a Web site. Starting in Visual Studio 2010, you can target .NET Framework 4 or multiple versions of the .NET Framework in your ClickOnce deployment. You can also troubleshoot installation issues by using enhanced logging and you can create a custom installer. For Office solution developers, there are additional ClickOnce enhancements, such as deploying multiple Office solutions in a single ClickOnce installer and performing additional actions after the ClickOnce installer is finished. For WPF XAML browser applications (XBAPs), you can request elevation of privileges with ClickOnce .
Support for .NET Framework 4

Applications created by using Visual Studio 2010 can target .NET Framework 4 and its new features.
Support for Multiple Versions of the .NET Framework

You can manually configure applications to be compatible with multiple versions of the .NET Framework. For example, you can specify that an application can run with .NET Framework 3.5 or .NET Framework 4.
Enhanced Logging

You can help troubleshoot problems during ClickOnce installation by using the enhanced logging feature in Visual Studio 2010. The enhanced logging feature stores information such as the parameters passed to the ClickOnce runtime, the browser settings, and ClickOnce security options.
Custom Installer and User Interface

If you deploy your .exe application by using ClickOnce, you can create a custom graphical user interface to silently install and update the application. The installer can have custom dialog boxes for security and maintenance operations.

New in the .NET Framework 4


This topic contains information about key features and improvements in the .NET Framework version 4. This topic does not provide comprehensive information about all new features and is subject to change. The .NET Framework 4 introduces an improved security model. Other new features and improvements in the .NET Framework 4 are described in the following sections:

Application Compatibility and Deployment Core New Features and Improvements Managed Extensibility Framework Parallel Computing Networking Web Client Data Communications and Workflow

Application Compatibility and Deployment


The .NET Framework 4 is highly compatible with applications that are built with earlier .NET Framework versions, except for some changes that were made to improve security, standards compliance, correctness, reliability, and performance. The .NET Framework 4 does not automatically use its version of the common language runtime to run applications that are built with earlier versions of the .NET Framework. To run older applications with .NET Framework 4, you must compile your application with the target .NET Framework version specified in the properties for your project in Visual Studio, or you can specify the supported runtime with the <supportedRuntime> Element in an application configuration file. If your application or component does not work after .NET Framework 4 is installed, please submit a bug on the Microsoft Connect Web site. You can test compatibility as described in the .NET Framework 4 Application Compatibility topic and learn about new features by using the Visual Studio 2010 and .NET Framework 4 Walkthroughs. The following sections describe deployment improvements.
Client Profile

The .NET Framework 4 Client Profile supports more platforms than in previous versions and provides a fast deployment experience for your Windows Presentation Foundation (WPF), console, or Windows Forms applications. For more information, see .NET Framework Client Profile.
In-Process Side-by-Side Execution

This feature enables an application to load and start multiple versions of the .NET Framework in the same process. For example, you can run applications that load add-ins (or components) that are based on the .NET Framework 2.0 SP1 and add-ins that are based on the .NET Framework 4 in the same process. Older components continue to use the older .NET Framework version, and new components use the new .NET Framework version. For more information, see In-Process Side-by-Side Execution.

Core New Features and Improvements


The following sections describe new features and improvements provided by the common language runtime and the base class libraries.
Diagnostics and Performance

Earlier versions of the .NET Framework provided no way to determine whether a particular application domain was affecting other application domains, because the operating system APIs and tools, such as the Windows Task Manager, were precise only to the process level. Starting with the .NET

Framework 4, you can get processor usage and memory usage estimates per application domain. You can monitor CPU and memory usage of individual application domains. Application domain resource monitoring is available through the managed and native hosting APIs and event tracing for Windows (ETW). When this feature has been enabled, it collects statistics on all application domains in the process for the life of the process. See the new AppDomain .MonitoringIsEnabled property. You can now access the ETW events for diagnostic purposes to improve performance. For more information, see CLR ETW Events and Controlling .NET Framework Logging. Also see Performance Counters and In-Process Side-By-Side Applications. The System.Runtime.ExceptionServices .HandleProcessCorruptedStateExcepti onsAttribute attribute enables managed code to handle exceptions that indicate corrupted process state.
Garbage Collection

The .NET Framework 4 provides background garbage collection. This feature replaces concurrent garbage collection in previous versions and provides better performance.
Code Contracts

Code contracts let you specify contractual information that is not represented by a method's or type's signature alone. The newSystem.Diagnostics.Contracts namespace contains classes that provide a language-neutral way to express coding assumptions in the form of preconditions, postconditions, and object invariants. The contracts improve testing with run-time checking, enable static contract verification, and support documentation generation.
Design-Time-Only Interop Assemblies

You no longer have to ship primary interop assemblies (PIAs) to deploy applications that interoperate with COM objects. In the .NET Framework 4, compilers can embed type information from interop assemblies, selecting only the types that an application (for example, an add-in) actually uses. Type safety is ensured by the common language runtime. See Using COM Types in Managed Code and Walkthrough: Embedding Type Information from Microsoft Office Assemblies (C# and Visual Basic).
Dynamic Language Runtime

The dynamic language runtime (DLR) is a new runtime environment that adds a set of services for dynamic languages to the CLR. The DLR makes it easier to develop dynamic languages to run on the .NET Framework and to add dynamic features to statically typed languages. To support the DLR, the newSystem.Dynamic namespace is added to the .NET Framework.

The expression trees are extended with new types that represent control flow, for example, System.Linq.Expressions .LoopExpression andSystem.Linq.Expressi ons .TryExpression . These new types are used by the dynamic language runtime (DLR) and not used by LINQ. In addition, several new classes that support the .NET Framework infrastructure are added to the System.Runtime.CompilerServices namespace.
Covariance and Contravariance

Several generic interfaces and delegates now support covariance and contravariance. For more information, see Covariance and Contravariance in Generics.
BigInteger and Complex Numbers

The new System.Numerics .BigInteger structure is an arbitrary-precision integer data type that supports all the standard integer operations, including bit manipulation. It can be used from any .NET Framework language. In addition, some of the new .NET Framework languages (such as F# and IronPython) have built-in support for this structure. The new System.Numerics .Complex structure represents a complex number that supports arithmetic and trigonometric operations with complex numbers.
Tuples

The .NET Framework 4 provides the System .Tuple class for creating tuple objects that contain structured data. It also provides generic tuple classes to support tuples that have from one to eight components (that is, singletons through octuples). To support tuple objects that have nine or more components, there is a generic tuple class with seven type parameters and an eighth parameter of any tuple type.
File System Enumeration Improvements

New file enumeration methods improve the performance of applications that access large file directories or that iterate through the lines in large files. For more information, see How to: Enumerate Directories and Files.
Memory-Mapped Files

The .NET Framework now supports memory-mapped files. You can use memory-mapped files to edit very large files and to create shared memory for interprocess communication.
64-Bit Operating Systems and Processes

You can identify 64-bit operating systems and processes with the Environment .Is64BitOperatingSystem and Environment .Is64BitProcess properties.

You can specify a 32-bit or 64-bit view of the registry with the Microsoft.Win32 .RegistryView enumeration when you open base keys.
Other New Features

The following list describes additional new capabilities, improvements, and conveniences. Several of these are based on customer suggestions.

To support culture-sensitive formatting, the System .TimeSpan structure includes new overloads of the ToString, Parse, and TryParse methods, as well as new ParseExact and TryParseExact methods. The new String .IsNullOrWhiteSpace method indicates whether a string is null, empty, or consists only of white-space characters. New overloads have been added to the String.Concat and String.Join methods that concatenate members of System.Collections.Generic .IEnumerable (Of T ) collections. The String .Concat method lets you concatenate each element in an enumerable collection without first converting the elements to strings. Two new convenience methods are available: StringBuilder .Clear and Stopwatch .Restart . The new Enum .HasFlag method determines whether one or more bit fields or flags are set in an enumeration value. The Enum .TryParse method returns a Boolean value that indicates whether a string or integer value could be successfully parsed. The System .Environment .SpecialFolder enumeration contains several new folders. You can now easily copy one stream into another with the CopyTo method in classes that inherit from the System.IO .Stream class. New Path .Combine method overloads enable you to combine file paths. The new System .IObservable (Of T ) and System .IObserver (Of T ) interfa ces provide a generalized mechanism for push-based notifications. The System .IntPtr and System .UIntPtr classes now include support for the addition and subtraction operators. You can now enable lazy initialization for any custom type by wrapping the type inside a System .Lazy (Of T ) class. The new System.Collections.Generic .SortedSet (Of T ) class provides a self-balancing tree that maintains data in sorted order after

insertions, deletions, and searches. This class implements the new System.Collections.Generic .ISet (Of T ) interface.

The compression algorithms for the System.IO.Compression .DeflateStream and System.IO.Compressi on .GZipStream classes have improved so that data that is already compressed is no longer inflated. Also, the 4-gigabyte size restriction for compressing streams has been removed. The new Monitor .Enter(Object, Boolean ) method overload takes a Boolean reference and atomically sets it to true only if the monitor is successfully entered. You can use the Thread .Yield method to have the calling thread yield execution to another thread that is ready to run on the current processor. The System .Guid structure now contains the TryParse and TryParseExact methods. The new Microsoft.Win32 .RegistryOptions enumeration lets you specify a volatile registry key that does not persist after the computer restarts. Registry keys are no longer restricted to a maximum length of 255 characters.

Managed Extensibility Framework


The Managed Extensibility Framework (MEF) is a new library in the .NET Framework 4 that helps you build extensible and composable applications. MEF enables you to specify points where an application can be extended, to expose services to offer to other extensible applications and to create parts for consumption by extensible applications. It also enables easy discoverability of available parts based on metadata, without the need to load the assemblies for the parts.

Parallel Computing
The .NET Framework 4 introduces a new programming model for writing multithreaded and asynchronous code that greatly simplifies the work of application and library developers. The new model enables developers to write efficient, fine-grained, and scalable parallel code in a natural idiom without having to work directly with threads or the thread pool. The new System.Threading.Tasks namespace and other related types support this new model. Parallel LINQ (PLINQ), which is a parallel implementation of LINQ to Objects, enables similar functionality through declarative syntax .

Networking
Networking improvements include the following:

Security improvements for Windows authentication in several classes, including System.Net .HttpWebRequest , System.Net .HttpListener ,Sy stem.Net.Mail .SmtpClient , System.Net.Security .SslStream , and System.Net.Security .NegotiateStream . Extended protection is available for applications on Windows 7 and Windows Server 2008 R2. Support for Network Address Translation (NAT) traversal using IPv6 and Teredo. New networking performance counters that provide information about HttpWebRequest objects. For more information, see Networking Performance Counters. In the System.Net .HttpWebRequest class, support for using large byte range headers (64-bit ranges) with new overloads for the AddRange method. New properties on the System.Net .HttpWebRequest class allow an application to set many HTTP headers. You can use the Host property to set the Host header value in an HTTP request that is independent from the request URI. Secure Sockets Layer (SSL) support for the System.Net.Mail .SmtpClient and related classes. Improved support for mail headers in the System.Net.Mail .MailMessage class. Support for a null cipher for use in encryption. You can specify the encryption policy by using the System.Net .ServicePointManager class and theEncryptionPolicy property. Constructors for the System.Net.Security .SslStream class now take a System.Net.Security .EncryptionPolicy class as a parameter. Credentials for password-based authentication schemes such as basic, digest, NTLM, and Kerberos authentication in the System.Net .NetworkCredentialclass. To improved security, passwords may now be treated as System.Security .SecureString instances rather than System .String instances. Ability to specify how a URI with percent-encoded values is converted and normalized in the System .Uri and System.Net .HttpListener classes .

Web

ASP.NET version 4 introduces new features in the following areas:

Core services, including a new API that lets you extend caching, support for compression for session-state data, and a new application preload manager (autostart feature). Web Forms, including more integrated support for ASP.NET routing, enhanced support for Web standards, updated browser support, new features for data controls, and new features for view state management. Web Forms controls, including a new Chart control. MVC, including new helper methods for views, support for partitioned MVC applications, and asynchronous controllers. Dynamic Data, including support for existing Web applications, support for many-to-many relationships and inheritance, new field templates and attributes, and enhanced data filtering. Microsoft Ajax, including additional support for client-based Ajax applications in the Microsoft Ajax Library. Visual Web Developer, including improved IntelliSense for JScript, new auto-complete snippets for HTML and ASP.NET markup, and enhanced CSS compatibility. Deployment, including new tools for automating typical deployment tasks. Multi-targeting, including better filtering for features that are not available in the target version of the .NET Framework.

Client
Windows Presentation Foundation

In the .NET Framework 4, Windows Presentation Foundation (WPF) contains changes and improvements in many areas, including controls, graphics, and XAML.

Data
ADO.NET

ADO.NET provides new features for the Entity Framework, including Persistence-Ignorant Objects, functions in LINQ queries, and Customized Object Layer Code Generation.
Dynamic Data

For ASP.NET 4, Dynamic Data has been enhanced to give you even more power for quickly building data-driven Web sites. This includes the following:

Automatic validation that is based on constraints that are defined in the data model. The ability to easily change the markup that is generated for fields in the GridView and DetailsView controls by using field templates that are part of a Dynamic Data project.

Communications and Workflow


Windows Communication Foundation (WCF) provides messaging enhancements and seamless integration with Windows Workflow Foundation (WF). WF provides improvements in performance, scalability, workflow modeling, and an updated visual designer.

You might also like