Saturday, April 24, 2010

GridView with CheckBox for Deleteing the checked Items.

 Use This Source File In Html

[asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"]                     


   [asp:BoundField DataField="roll_no" HeaderText="Roll No" /]

   [asp:BoundField DataField="s_name" HeaderText="Student Name" /]

   [asp:BoundField DataField="class" HeaderText="Class" /]



       [asp:CheckBox ID="ch1" Text='<%# Eval("roll_no") %>' runat="server" /]





In your .cs file in the class level write this line of code

First Use This Code in Page load
ArrayList alist = new  ArrayList();
protected void Page_Load(object sender, EventArgs e)
 if (!Page.IsPostBack)
      //Populate data and Bind in Gridview



Sunday, April 18, 2010

How to Use Google Search In

How to Use Google Search In

To Use google Search In Your Application

First Take One Seach Page And Button

And Craete HTML Page "Search.aspx" and Use Below Code In It
[form id="formsearch? runat="server"]


[asp:Label ID="lblsearch" runat="server" Width="120px"]Google Search…[/asp:Label][br /]

[asp:Label ID="lblmsg? runat="server" ][/asp:Label]

[asp:TextBox ID="txtseach" runat="server" Height="19px" Width="293px" ][/asp:TextBox]

[asp:Button ID="btnsearch" runat="server" Text="Search Google" Height="25px" OnClick="btnsearch_Click" Width="137px" /]



Thursday, April 15, 2010


1. Introduction
Extensive and efficient testing is very important to ensure software quality. In many projects the costs for testing represent 25-50% of the overall project costs. It can be said that testing is not a very favored task. The first step to reduce the effort for testing is to use testing tools that execute tests automatically. But the necessary test cases are usually created manually requiring the tester to think about the usage and the behavior of the system, a task he or another person has already done in the requirements analysis phase of the software development.
This doubled work can be avoided when the test cases for black-box-testing are derived from the use case models and the class models. These models are available as products of the requirements analysis phase of the software development. During the development, of a software system there are other kinds of testing that have to be carried out. Usually, these tests examine just parts of the system and take internal details into account or they are intended to find the location of errors. These tests are outside the scope of this paper because the test cases for these tests cannot be derived from specification models alone. Taking the specification models as the basis for tests has the positive side effect that more attention is paid to keep the models complete and Up-to-date. Another advantage is that testing can start in very early phases of the development process, which is important for incremental development and allows shortening the time to delivery. Furthermore the software quality is raised because the system is tested with respect to the explicitly stated user requirements.

Monday, April 12, 2010

What's 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. For more information, see Security Changes in the .NET Framework 4.

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





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. For additional information and known migration issues, visit the .NET Framework Compatibility blog.

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. Oxis on facebook Oxis on Twitter
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..::.HandleProcessCorruptedStateExceptionsAttribute 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. For more information, see Fundamentals of Garbage Collection.

Code Contracts
Code contracts let you specify contractual information that is not represented by a method's or type's signature alone. The new System.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. For more information, see Code Contracts.

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 new System.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 and System.Linq.Expressions..::.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. For more information, see Dynamic Language Runtime Overview.

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.

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>)>) interfaces 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.Compression..::.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

What's New in ASP.NET and Web Development

The .NET Framework version 3.5 Service Pack 1 includes enhancements for ASP.NET in targeted areas. Visual Studio 2008 and Microsoft Visual Web Developer Express Edition also include enhancements and new features for improved Web development.

The most significant advances are improved support for developing AJAX-enabled Web sites and support for Language-Integrated Query (LINQ). The advances include new server controls and types, a new object-oriented client type library, and full IntelliSense support in Visual Studio 2008 and Microsoft Visual Web Developer Express Edition for working with ECMAScript (JavaScript or JScript).

The following sections of this topic describe the changes in ASP.NET and Visual Web Developer.

ASP.NET Enhancements in SP1

ASP.NET Enhancements in version 3.5

Visual Web Developer Enhancements

  ASP.NET Enhancements in SP1
The following sections provide information about enhancements and new features in Visual Studio 2008 and Visual Web Developer Express Edition.

Dynamic Data
ASP.NET Dynamic Data is a framework that lets you create data-driven ASP.NET Web applications easily. It does this by automatically discovering the data model at run time and determining UI behavior from it. A scaffolding framework instantly provides a functional Web site for viewing and editing data. This scaffolding can then be easily customized using metadata, templates, or by creating standard ASP.NET pages to override the default behavior. At the same time existing applications can easily integrate pieces of the scaffolding logic with their existing pages.

URL Routing
URL routing in ASP.NET enables you to use URLs that do not have to map to specific files in a Web site. Because the URL does not have to map to a file, you can use URLs in a Web application that are descriptive of the user's action and therefore more easily understood by users. In URL routing, you define URL patterns that contain placeholders for values that are used when you handle URL requests. At run time, the pieces of the URL that follow the application name are parsed into discrete values, based on a URL pattern that you have defined.

EntityDataSource Control
The EntityDataSource control supports data binding scenarios based on the Entity Data Model (EDM). The EDM specification represents data as sets of entities and relationships. The EDM is used by the Entity Framework in object-relational mapping and in other scenarios such as ADO.NET Data Services. Users accustomed to the design-time model of ASP.NET data binding controls will find the programming surface of the EntityDataSource control similar to that of other data source controls.

The EntityDataSource control manages create, read, update, and delete operations with a data source on behalf of data-bound controls on the page. The EntityDataSource works with editable grids, forms with user-controlled sorting and filtering, dually bound drop-down list controls, and master-detail pages. The EntityDataSource control is able to obtain query parameter values from page controls, query parameters appended to the page URI, cookies, and other ASP.NET parameter objects.

New ASP.NET AJAX Extensions
The new extensions for ASP.NET AJAX in SP1 give you more control over browser history when you use the Back button. They also enable multiple client scripts to be automatically combined into one composite script. This speeds script load time by greatly reducing the required number of round trips to the server.

JScript Formatting
Code formatting capabilities has been extended to support JScript in Visual Studio and Visual Web Developer Express Edition. You can choose to format code manually for a document or selection, or to be automatically formatted as you type.

  ASP.NET Enhancements in version 3.5
The .NET Framework version 3.5 includes enhancements for ASP.NET in the following areas:

New server controls, types, and a client-script library that work together to enable you to develop AJAX-style Web applications.

Extension of server-based forms authentication, roles management, and profile services as Web services that can be consumed by Web-based applications.

A new EntityDataSource control that exposes the Entity Data Model through the ASP.NET data source control architecture.

A new ListView data control that displays data and that provides a highly customizable UI.

A new LinqDataSource control that exposes Language-Integrated Query (LINQ) through the ASP.NET data source control architecture.

A new merge tool (Aspnet_merge.exe) that merges precompiled assemblies to support flexible deployment and release management. This feature is not available in Visual Web Developer Express Edition.

The .NET Framework version 3.5 is also integrated with IIS 7.0. You can now use ASP.NET services such as forms authentication and caching for all content types, not just ASP.NET Web pages (.aspx files). This is because ASP.NET and IIS 7.0 use the same request pipeline. The unified request processing pipeline means that you can use managed code to develop HTTP pipeline modules that work with all requests in IIS. In addition, IIS and ASP.NET modules and handlers now support unified configuration. For more information, see ASP.NET Application Life Cycle Overview for IIS 7.0.

AJAX Development
The .NET Framework version 3.5 enables you to create Web applications that feature next-generation user interfaces with reusable client components. You can develop Web pages by using a server-based approach, a client-based approach, or a combination of both, according to your requirements. The AJAX server-based and client-based programming models feature the following:

Server controls that support server-based AJAX development. This includes the ScriptManager, UpdatePanel, UpdateProgress, and Timer controls. These controls enable you to create rich client behavior with little or no client script, such as partial-page rendering and displaying update progress during asynchronous postbacks.

The Microsoft AJAX Library, which supports client-based, object-oriented development that is browser independent. In addition to supporting the new AJAX-enabled server controls, the client library enables you to develop custom client components that extend DOM elements or that represent a DOM element.

Server classes that enable you to develop server controls that map to custom client components whose events and properties are set declaratively. Server types that support this functionality include controls that derive from the ExtenderControl or ScriptControl base classes, or that implement the IExtenderControl or IScriptControl interfaces.

Support for script globalization and localization by using client script. Globalization enables you to display dates and numbers based on a culture value (locale). Localization enables you to specify localized content (text, images, and so on) in client components for UI elements or exception messages.

Access to Web services and to ASP.NET authentication, roles management, and profile application services.

The .NET Framework version 3.5 enables you to easily enable asynchronous partial-page updates in a page, which avoids the overhead of full-page postbacks. You can just put existing controls and markup inside UpdatePanel controls. Postbacks from inside an UpdatePanel control become asynchronous postbacks and refresh only the part of the page that is inside the panel, which creates a more fluid user experience. You can display the progress of the partial-page update by using UpdateProgress controls.

Learning About AJAX Development in ASP.NET
The documentation provides extensive information to help you learn how to develop AJAX-style Web applications in ASP.NET. To start, follow the sequence of topics described in Adding AJAX and Client Capabilities Roadmap.

Web Services and Application Services
The .NET Framework version 3.5 enables you to create both ASP.NET (.asmx) and WCF-based Web services that you can call from Web pages in client script by using the Microsoft AJAX Library. You can also call server-based application services that are exposed as Web services, which includes forms authentication, roles management, and profiles. These application services can be consumed in WCF-compatible applications, which includes AJAX-enabled Web pages and Window Forms clients. As a result, applications that are built with these ASP.NET or WCF technologies can share information that is made available by application services. For more information, see Web Services in ASP.NET AJAX and Using ASP.NET Web Services.

ListView Data Control
The ListView control combines many aspects of existing data controls. The ListView control is useful for displaying data in any repeating structure, similar to the DataList and Repeater controls. Unlike those controls, the ListView control supports edit, insert, and delete operations as well as sorting and paging. The paging functionality is provided for ListView by the new DataPager control.

The ListView control is a highly customizable control that enables you to use templates and styles to define the control's UI. Like the Repeater, DataList, and FormView controls, templates in the ListView control are not predefined to render specific UI in the browser. For more information, see ListView Web Server Control Overview.

DataPager Control
The DataPager control is used to page through data that is displayed by a control that implements the IPageableItemContainer interface, such as the ListView control. The DataPager control supports built-in paging UI. You can specify the paging UI by using the NumericPagerField object, which lets users select a page by page number. You can also use the NextPreviousPagerField object, which lets users navigate through pages one page at a time, or to jump to the first or last page. Alternatively, you can create custom paging UI by using the TemplatePagerField object.

LinqDataSource Control
The LinqDataSource control exposes Language Integrated Query (LINQ) through the ASP.NET data source control architecture. You use the LinqDataSource control when you are creating a Web page that retrieves or modifies data and you want to use the programming model that is provided by LINQ. You can simplify the code in a Web page by enabling the LinqDataSource control to automatically create the commands for interacting with the data. By using the LinqDataSource control, you can reduce the amount of code that you must write to perform data operations when compared to performing the same operations in the SqlDataSource control or the ObjectDataSource control. When you use the LinqDataSource control, you also benefit by learning only one programming model to interact with different types of data sources.

You can use declarative markup to create a LinqDataSource control that connects to data from either a database or a data collection such as a collection. In the markup, you can specify the criteria for displaying, filtering, ordering, and grouping data. When the data source is an SQL database table, you can also configure a LinqDataSource control to update, insert, and delete data. You do not have to write the SQL commands to perform these tasks. The LinqDataSource class provides an event model that enables you to customize display and update behavior. For more information, see LinqDataSource Web Server Control Overview.

ASP.NET Merge Tool
The ASP.NET merge tool (Aspnet_merge.exe) lets you combine and manage assemblies that are created by the ASP.NET pre-compilation tool (Aspnet_compiler.exe). (The merge tool was released earlier as an add-on for Visual Studio 2005,) The merge tool creates single assemblies for the site. You can create an assembly for the whole Web site, for each Web site folder, or for just the files that make up the Web site UI (pages and controls).

This feature is not available in Visual Web Developer Express Edition.

For more information, see ASP.NET Merge Tool (Aspnet_merge.exe). For more information about the ASP.NET compiler tool, see ASP.NET Compilation Tool (Aspnet_compiler.exe).

  Visual Web Developer Enhancements
The following sections provide information about enhancements and new features in Visual Studio 2008 and Visual Web Developer Express Edition.

New Design View and CSS Design Tools
The Web page designer now lets you work in Design view, Source view, or Split view, which displays Design view and Source view at the same time.

Visual Studio now provides tools that make it easy to work with cascading style sheets (CSS). You can design the layout and style content in Design view by using new UI tools such as the CSS Properties window. You can also change positioning, padding, and margins directly in Design view by using WYSIWYG visual-layout tools.

For more information, see the following topics:

Working with CSS Overview

Walkthrough: Creating and Modifying a CSS File

IntelliSense for JScript and ASP.NET AJAX
Visual Studio 2008 and Visual Web Developer Express Edition now offer significantly improved IntelliSense for coding in ECMAScript (JScript or JavaScript), and for writing client script for AJAX-style Web applications that use the Microsoft AJAX Library. IntelliSense is available for client script in script elements and for referenced .js script files. 

Additionally, IntelliSense displays XML code comments. XML code comments are used to describe the summary, parameter, and return details of your client script. ASP.NET AJAX also uses XML code comments to provide IntelliSense for ASP.NET AJAX types and members. IntelliSense is also supported for external script file references that use XML code comments.

For more information, see the following topics:

JScript IntelliSense Overview

Walkthrough: JScript IntelliSense

Web Application Projects
Web applications projects, released earlier as an add-on for Visual Studio 2005, are now integrated into Visual Studio and By using the Web application project model, you can compile a Web site into a single assembly in the Bin folder and explicitly define project resources.

The Web application project model uses the same project, build, and compilation semantics as Web projects in Visual Studio .NET 2003. This enables you to easily migrate Visual Studio .NET 2003 Web sites to the current version of Visual Studio or Visual Web Developer Express Edition.

Web application projects do not replace the Web site project type introduced in Visual Studio 2005. Instead, they provide another project model to provide more options for how you deploy and maintain Web applications.

For more information, see the following topics:

Web Application Projects Overview

How to: Create New Web Application Projects

Multi-targeting Web Applications
Visual Studio now enables you to target a Web application to a specific version of the .NET Framework. You can use one instance of the Visual Studio to develop Web applications for .NET Framework versions 2.0, 3.0 (Windows Vista), and 3.5. In Visual Web Developer Express Edition, you can only create applications that target the 3.5 version of the .NET Framework. However, you can later change the .NET Framework to target versions 2.0, 3.0, and 3.5 by changing the related project property.

For more information, see the following topics:

.NET Framework Multi-Targeting Overview

How to: Target a Specific .NET Framework

Designer and IntelliSense Support for LINQ
A new set of features in Visual Studio 2008 support Language-Integrated Query (LINQ) and extend the powerful query capabilities into the language syntax of C# and Visual Basic. LINQ introduces standard, easily-learned patterns for querying and transforming data, and can be extended to support any kind of data source. The designer provides a visual representation of data classes that enables you to quickly create and edit classes that map to objects in a database. IntelliSense support provides information for LINQ language syntax and for using the LinqDataSource control in Source view. For more information, see LinqDataSource Web Server Control Overview

Support for Creating and Consuming WCF Services in a Web Project
In Visual Studio, you can add ASP.NET Web services (.asmx files) and WCF Web services (.svc files) to a project. Client applications that are written in managed code typically access these Web services through a proxy class. For example, these applications use the proxy class that Visual Studio generates when you use the Add Web Reference dialog box. AJAX applications can access Web services from the browser by using proxy classes that are automatically generated in client script. For more information, see ASP.NET Application Services Overview.

Support for ASP.NET AJAX Extender Controls
AJAX extender controls enhance the client capabilities of standard Web server controls in ASP.NET Web applications. You can provide a richer Web-based user experience by binding one or more extenders to Web server controls such as TextBox controls, Button controls, and Panel controls.

Visual Studio supports all ASP.NET AJAX extender controls. This includes extender controls that you create and those that you add from sources such as the ASP.NET AJAX Control Toolkit, which is available on the ASP.NET Web site.

What's New in ADO.NET

The following features are new in ADO.NET with the Service Pack 1 release of the .NET Framework version 3.5. These include the Entity Framework as well as improvements to LINQ to DataSet and LINQ to SQL. The .NET Framework Data Provider for SQL Server (SqlClient) has been enhanced to provide support for SQL Server 2008.

  SqlClient Support for SQL Server 2008
Starting with the .NET Framework version 3.5 Service Pack (SP) 1, the .NET Framework Data Provider for SQL Server (System.Data.SqlClient) provides full support for all the new features of the SQL Server 2008 Database Engine. You must install the .NET Framework 3.5 SP1 (or later) to use these new features with SqlClient. For more information about .NET Framework support for SQL Server 2008, see New Features in SQL Server 2008 (ADO.NET). For more information about new Database Engine features in SQL Server 2008, see What's New (SQL Server 2008) in SQL Server 2008 Books Online.

  ADO.NET Data Platform
The Data Platform is a multi-release strategy to decrease the amount of coding and maintenance required for developers by enabling them to program against conceptual entity data models. In the .NET Framework version 3.5 Service Pack (SP) 1, the ADO.NET Entity Framework provides the following Data Platform components:


Entity Data Model (EDM)
 A design specification that defines application data as sets of entities and relationships. Data in this model supports object-relational mapping and data programmability across application boundaries.

EDM data types and relationships are defined in an conceptual model. This is an XML schema written in conceptual schema definition language (CSDL). The conceptual model is used to build programmable classes that represent application data. Developers can extend these objects as required to support various application needs. For more information, see Entity Data Model.

Object Services
 Allows programmers to interact with the conceptual model through a set of common language runtime (CLR) classes. These classes can be automatically generated from the conceptual model or can be developed independently to reflect the structure of the conceptual model. Object Services also provides infrastructure support for the Entity Framework, including services such as state management, change tracking, identity resolution, loading and navigating relationships, propagating object changes to database modifications, and query building support for Entity SQL. For more information, see Object Services Overview (Entity Framework)

LINQ to Entities
 A language-integrated query (LINQ) implementation that allows developers to create strongly-typed queries against the Entity Framework object context by using LINQ expressions and LINQ standard query operators. LINQ to Entities allows developers to work against a conceptual model with a very flexible object-relational mapping across Microsoft SQL Server and third-party databases. For more information, see LINQ to Entities.

Entity SQL
 A text-based query language designed to interact with an Entity Data Model. Entity SQL is an SQL dialect that contains constructs for querying in terms of higher-level modeling concepts, such as inheritance, complex types, and explicit relationships. Developers can also use Entity SQL directly with Object Services. For more information, see Entity SQL Language Reference.

 A new .NET Framework data provider used for interacting with an Entity Data Model. EntityClient follows the .NET Framework data provider pattern of exposing EntityConnection and EntityCommand objects that return an EntityDataReader. EntityClient works with the Entity SQL language, providing flexible mapping to storage-specific data providers. For more information, see EntityClient and Entity SQL.

What's New in Windows Presentation Foundation Version 3.5

This topic briefly discusses the major differences between Windows Presentation Foundation (WPF) versions 3.0 and 3.5.

This topic contains the following sections.

Compatibility with Version 3.0
3-D Graphics
Data Binding
Related Topics
  Compatibility with Version 3.0
Forward and Backward Compatibility
An application built with WPF 3.0 will run on the WPF 3.5 runtime.

An application built with WPF 3.5 will execute on the 3.0 runtime if the application only uses features that are available in WPF 3.0.

WPF 3.5 defines a new XML namespace, When building an application using WPF 3.5, you can use this namespace or the namespace defined in WPF 3.0.

Targeting a Specific Runtime
Applications built with WPF 3.0 can target any version of the framework greater or equal to the version the application was originally built against. For more information, see How to: Use an Application Configuration File to Target a .NET Framework Version.

The following improvements have been made to the application model:

Comprehensive add-in support for supporting nonvisual and visual add-ins from standalone applications and XAML browser applications (XBAPs).

XBAPs can now run in Firefox.

Cookies can be shared between XBAPs and Web applications from the same site of origin.

Improved XAML IntelliSense experience for higher productivity.

Expanded localization support.

Visual and Nonvisual Add-Ins in WPF
An extensible application exposes functionality in a way that allows other applications to integrate with and extend its functionality. Add-ins are one common way for applications to expose their extensibility. In the .NET Framework, an add-in is typically an assembly that is packaged as a dynamic link library (.dll). The add-in is dynamically loaded by a host application at run time to use and extend services exposed by the host. The host and the add-in interact with each other through a well-known contract, which typically is a common interface that is published by the host application.

Once an application supports add-ins, first-party and third-party developers can create add-ins for it. There are many examples of these types of applications, including Office, Visual Studio, and Microsoft Windows Media Player. For example, the add-in support for Microsoft Windows Media Player allows third parties to create DVD decoders and MP3 encoders.

The .NET Framework implements the building blocks for allowing applications to support add-ins. However, the time and complexity that is required to build that support can be expensive, considering that a robust add-in design needs to handle the following:

Discovery: Finding add-ins that adhere to contracts supported by host applications.

Activation: Loading, running, and establishing communication with add-ins.

Isolation: Using either application domains or processes to establish isolation boundaries that protect applications from potential security and execution problems with add-ins.

Communication: Allowing add-ins and host applications to communicate with each other across isolation boundaries by calling methods and passing data.

Lifetime Management: Loading and unloading application domains and processes in a clean, predictable manner (see Application Domains Overview).

Versioning: Ensuring that host applications and add-ins can still communicate when new versions of either are created.

Rather than requiring you to solve these problems, .NET Framework now includes a set of types, located in the System.AddIn namespace, that are collectively known as the "add-in model". The .NET Framework add-in model provides functionality for each of the common add-in behaviors listed above.

In some scenarios, though, it may also be desirable to allow add-ins to integrate with and extend host application UIs. WPF extends the .NET Framework add-in model to enable this support, which is built around displaying a FrameworkElement owned by an add-in in the UIs of a host application. This enables WPF developers to create applications to support the following common scenarios:

Messenger-style application that provide additional services with 3rd party 'buddy" add-ins.

Gaming applications designed to host third-party party games.

Content Reader applications that host advertisements.

Mashup applications that host arbitrary modules; for example, Windows Sidebar.

And, WPF add-ins can be hosted by both standalone applications and XBAPs.

For more information, see Windows Presentation Foundation Add-Ins Overview.

Firefox Support for XBAPs
A plug-in for WPF 3.5 enables XBAPs to be run from Firefox 2.0, a feature that is not available from WPF 3.0. Key features include the following:

If Firefox 2.0 is your default browser, XBAPs honor the configuration. That is, Internet Explorer is not used for XBAPs if Firefox 2.0 is the default.

The same security features available to XBAPs running Internet Explorer are available to XBAPs running in Firefox 2.0, including partial-trust security sandboxing. Additional browser-provided security features are browser-specific.

What's New in the .NET Framework Version 3.5 SP1

This topic contains information about new and enhanced features in the .NET Framework version 3.5 Service Pack 1.
New ASP.NET features include ASP.NET Dynamic Data, which provides a rich scaffolding framework that allows rapid data driven development without writing code, and an addition to ASP.NET AJAX that provides support for managing browser history (back button support). For more information, see What’s New in ASP.NET and Web Development.

Common Language Runtime
Core improvements to the common language runtime include the following:

Improved application startup and working set performance.

Better layout of .NET Framework native images.

Opting out of strong-name verification of fully trusted assemblies.

Better generated code that improves end-to-end application execution time.

Detecting approaching full garbage collections with Garbage Collection Notifications.

Opting for managed code to run in ASLR (Address Space Layout Randomization) if supported by the operating system.

Managed applications that are opened from network shares have the same behavior as native applications by running with full trust.

  .NET Framework Client Profile
The .NET Framework Client Profile is a subset of the full .NET Framework that targets client applications. This improves the installation experience on computers that do not already have the .NET Framework installed.