Transferred from: Johnson's blog
Before resuming: function introduction in. NET Framework 3.5 (1)
The above is a brief introduction. The following documents are sorted based on the specific descriptions on msdn:
The new features in. NET Framework 3.5 are reflected in the following aspects:
-. NET Compact framework
-ASP. NET
-ExternalProgramAnd Scalability (addin)
-Public Language Runtime Library
-Cryptography)
-Network
-WPF (Windows Presentation Foundation)
-WCF (Windows Communication Foundation)
-WF (Windows Workflow Foundation)
-Windows Forms (Windows Forms)
-LINQ
-Expression trees)
-C #, C ++. net, VB.net, etc.Programming LanguageRich and complete
. NET Compact framework
. NET Compact Framework 3.5 extends support for Distributed mobile applications by using the Windows Communication Foundation (WCF) technology. It also adds new language functions (such as LINQ) andCommunityFeedback on new APIs, and use updated diagnostic tools and functions to improve debugging.
ASP. NET
(1) Support for Ajax (a new set of server controls and APIs)
. NET Framework 3.5 provides enhancements for ASP. NET and visual web developer.
-A group of new server controls
ScriptmanagerControls andUpdatepanelWidget
. NET Framework 3.5 improves the development support for websites that support Ajax. ASP. NET supports Server-centric Ajax development using a new set of server controls and APIs. By adding the scriptmanager control and updatepanel control, you can enable the existing ASP. NET 2.0 page to support Ajax, so that the whole page is not refreshed when updating the page.
-API (Microsoft Ajax Library)
ASP. NET also supports client-centric Ajax development using a new client library named Microsoft Ajax library. Microsoft Ajax Library supports client-centric, object-oriented, and browser-independent development. With the library class in ecmascript (JavaScript), you can provide rich UI behavior without repeatedly accessing the server. You can adjust the ratio of the two development modes, server-centric and client-centric, based on application needs.
-Visual Web Developer also includes improved support for JavaScript intelliisense and Microsoft Ajax library.
(2) Support creating Web Services Based on asmx and WCF
Currently, ASP. NET and Visual Web Developer support creating Web Services Based on asmx and WCF, and also support seamless use of any implementation in Web pages using Microsoft Ajax library. In addition, server-side application services, including forms authentication, role management, and configuration files, are now available as Web Services, these services can be used in WCF compatible applications (including client scripts and window form clients. ASP. NET allows all web-based applications to share these public application services.
(3) other improvements:
-Listview: A New Data Control used to display data;
Listview is a highly customizable control that uses templates and styles. It also supports editing, inserting, and deleting operations, as well as sorting and paging. A new control named datapager provides the paging function for listview.
-Linqdatasource: the new data source control for language integration query (LINQ) is made public to Web developers through the ASP. NET data source control structure;
-Aspnet_merge.exe: A new ASP. NET merge tool used to merge pre-compiled assembly;
It can be used to merge the Assembly to support various deployment and release management solutions.
-Tight integration with IIS 7.0.
ASP. NET and IIS 7.0 integration provides the ability to use ASP. NET services (such as identity authentication and cache) for any content type, and also provides the ability to use ASP. NET for hostingCodeDevelop the capabilities of the server pipeline module and support unified configuration of modules and processing programs.
-Other improvements in Visual Web Developer:
Multi-objective support, including web application projects, new "design" views, new Cascading Style Sheet (CSS) design tools, and support for the LINQ for SQL database.
-The multi-target feature allows you to use visual web developer to develop Web applications for specific. NET Framework versions (including 2.0, 3.0, and 3.5.
-Added Visual Studio 2008 and Visual Web Developer quick release:
New "design" view and CSS design tools: Like Dreamweaver, use the web designer, you can work in the design view, Source view, or split view (both the design view and Source view are displayed.
External programs and scalability (addin)
The system. addin. dll assembly in. NET Framework 3.5 provides powerful and flexible support for developers who can scale applications. It introduces new structures and models to help developers complete the initial work of adding extensibility to applications, make sure that the expansion of the developer can continue to work when the host application changes. This model provides the following functions:
-Discovery
Using the addinstore class, you can easily find and manage external assembly in multiple locations on your computer. You can use this class to search for and obtain information about external programs based on their basic types, without loading them.
-Activation
You can use the addshortken class to easily activate the external program selected by the application. You only need to select the isolation and sandbox level to complete the remaining work.
-Isolation
Provides built-in support for process isolation between application domains and external programs. The isolation level of each external program is controlled by the host. The system processes the loading of application domains and processes and closes them after the external programs of these domains and processes stop running.
-Sandbox
You can easily set the external program to a default trust level or custom trust level. The support includes Internet, Intranet, full trust, "Same as the host" permission set, and overload of the custom permission set specified by the host.
-UI Composition
The external program model supports the Windows Presentation Foundation (WPF) control that directly forms cross-application domain boundaries. You can easily allow external programs to directly form the host's UI while retaining the benefits of isolation, uninstallation, sandbox, and version control.
-Version Control
The external program structure allows the host to introduce a new version of the Host object model without interrupting the existing external program or affecting the developer experience of the new version.
Common Language Runtime)
-Hashset set
Hashset <(of <(T>)> provides high-performance set operations for. NET Framework. A set of elements that do not repeat and have no specific order. For more information, see the hashset collection type.
-Diagnosis (eventschematracelistener class)
The eventschematracelistener class provides end-to-end, schema-compliant event tracking. End-to-end tracking can be used for systems that contain heterogeneous components across threads, AppDomains, processes, and computer boundaries. A standardized event architecture has been defined to enable tracking across these boundaries. This architecture is shared by a variety of tracking technologies, including Windows Vista diagnostic tools like event viewer. This architecture also supports adding custom elements that conform to the architecture.
The eventschematracelistener class has adjusted the log record performance. Currently, it supports non-locked tracking implicitly.
-I/O and Pipelines
The MPs queue provides communication between any processes running on the same computer or any other Windows computer in the network .. Net Framework provides access to two types of pipelines: anonymous and named pipelines.
-Garbage Collection (gcsettings and GC)
The gcsettings class has a new latencymode attribute, which can be used to adjust the time when the Garbage Collector intrude into the application. You can set this attribute to one of the [system. runtime. gclatencymode] enumeration values.
The GC class has a new collect (int32, gccollectionmode) method overload, which can be used to adjust the forced garbage collection behavior. For example, you can use this overload to specify whether the current time is the best time to recycle objects. This overload uses the value in the new gccollectionmode enumeration.
-Dynamicmethod)
Currently, an assembly running with some trust can issue and execute code. The issued Code that only calls public types and methods does not need to exceed the permissions required for the accessed types and methods. Using the new dynamicmethod (string, type, array <type> [] () []) constructor can easily issue similar code.
The new dynamicmethod (string, type, array <type> [] () [], Boolean) the constructor will allow restricted access. The host must grant reflectionpermission a new restrictedmemberaccess flag to enable this feature, which enables the issued code to access private data, but only applies to types and methods in an assembly with a level equal to or less than the trust level.
For reflection, the host that grants restrictedmemberaccess also allows restricted use of methods used to access private properties, call private methods, and so on, but only applies to assemblies with a level equal to or less than the trust level.
-thread processing
better reader/writer lock (readerwriterlockslim)
the new readerwriterlockslim class provides better performance than readerwriterlock, it can be equivalent to the lock Statement (synclock in Visual Basic ). Switching between locked states has been simplified, making programming easier and reducing the chance of deadlocks. The new class supports recursion to simplify the migration from lock and readerwriterlock.
threadpool performance enhancement
it significantly improves the throughput for scheduling work items and I/O tasks in the managed thread pool. Currently, scheduling can be processed in managed code without converting to unmanaged code and has fewer locks. We recommend that you use threadpool for application-specific thread pools.
-Time Zone improvement (datetimeoffset and timezoneinfo)
The two new types of datetimeoffset and timezoneinfo improve the support for time zones, making it easier to develop applications that use dates and times in different time zones.
Timezoneinfo
The new timezoneinfo class largely replaces the existing timezone class. You can use timezoneinfo to retrieve any time zones defined in the registry, not just local time zones and Coordinated Universal Time (UTC ). You can also use this class to define custom time zones, serialize and deserialize custom time zone data, and convert time between time zones.
Datetimeoffset
The new datetimeoffset structure extends the datetime structure to make it easier to use time across time zones. The datetimeoffset structure stores the time and date information as a UTC date and time, and an offset value indicating the difference between the time and UTC.
Encryption System (cryptography) Enhancement
-clickonce list
New Password classes are used to verify and obtain information about the list signature of the clickonce application. When you use the verifysignature () method of the manifestsignatureinformation class, you can obtain information about the list signature. You can use manifestkinds enumeration to specify the list to be verified. The verification result is one of the signatureverificationresult enumerated values. Manifestsignatureinformationcollection provides a read-only set of manifestsignatureinformation objects with verified signatures. In addition, the following classes provide specific signature information:
strongnamesignatureverification stores the strong name signature information of the list.
authenticodesignatureinformation indicates the Authenticode signature information of the list.
timestampinformation contains the timestamp information about the Authenticode signature.
truststatus provides a simple method to check whether the Authenticode signature is trusted.
-Suite B support
. NET Framework 3.5 supports suite B encryption released by the National Security Agency (NSA ).AlgorithmSet.
Includes the following algorithms:
-Advanced Encryption Standard (AES) that uses 128-bit and 256-bit key sizes for encryption ).
-Secure hashing algorithm (SHA-256 and SHA-384) for hash processing ).
-An elliptic curve digital signature algorithm (ECDSA) that uses the 256-bit and 384-bit model curves for signature ). This algorithm is provided by the ecdsacng class. This algorithm allows you to use a private key for signature and public key verification.
-Use the elliptic curve Diffie-Hellman (ecdh) of the 256-bit and 384-bit model curves for key exchange/secret protocols ). This algorithm is provided by the ecdiffiehellmancng class.
The new aescryptoserviceprovider, sha256cryptoserviceprovider, and sha384cryptoserviceprovider classes provide managed code packages for AES, SHA-256, and SHA-384 implementations of the US Federal Information Processing standard (FIPs) Certification implementation.
Next-generation encryption technology (cryptography next generation), abbreviated as CNG, is a substitute for CryptoAPI)
Windows vist introduces a new encryption API to replace the old CryptoAPI, which is rooted in earlier versions of Windows NT and Windows 95. Next-generation encryption technology (CNG) is designed to replace CryptoAPI for a long time.
The CNG Class provides the hosting implementation of the Local crypto API (CAPI. Its core is the cngkey container class, which provides the storage and usage abstraction of the CNG key. With this class, you can securely store the key pair or public key and reference it with a simple string name. The ecdsacng and ecdiffiehellmancng classes use the cngkey object.
The cngkey class can be used to perform other operations, including opening, creating, deleting, and exporting keys. It also provides access to the basic key handle used to directly call the local API.
In addition, it provides a variety of classes that support CNG, such as cngprovider for maintaining the key storage provider, cngalgorithm for maintaining the CNG algorithm, and cngproperty for maintaining common key attributes.
Network
-Peer-to-Peer Networking)
A peer-to-peer network is a serverless network technology that allows multiple network devices to share resources and communicate directly with each other. The system. net. peertopeer namespace provides a set of classes that support the peer name resolution protocol (PNRP). This protocol allows other peer nodes to be found through the peername object registered in the peer group. PNRP can resolve peer names to IPv6 or IPv4 IP addresses.
-Peer-to-peer network collaboration(Collaboration using peer-to-peer networking)
The system. net. peertopeer. Collaboration namespace provides a set of classes that support collaboration using the peer-to-peer network infrastructure. These classes simplify the process for applications to perform the following operations:
-Track the peer status without using the server.
-Send an invitation to the participant.
-Peers in the same subnet or LAN are found.
-Manage contacts.
-Interaction with peer.
Microsoft's peer-to-peer collaboration infrastructure provides a peer-to-peer network framework for collaborative serverless activities. By using this framework, distributed network applications can use the collaboration capabilities of computers in subnets or the Internet. These types of applications can be used for similar activities: collaboration plans, communications, content delivery, or even Game competitions where multiple players are involved.
-Enhanced socket Performance(Socket performance enhancements)
The socket class is enhanced for applications with the highest performance using Asynchronous Network I/O. A series of new classes have been added to the socket namespace as part of the enhancement feature set. These classes provide optional asynchronous modes that can be used by dedicated high-performance socket applications. These enhancements are designed for network server applications that require high performance.
WPF (Windows Presentation Foundation)
In. in Net Framework 3.5, the Windows Presentation Foundation contains multiple changes and improvements, including version control, application model, data binding, controls, documents, annotations, and 3D UI elements. (For more information, see other related topics in the blog.Article)
WCF (Windows Communication Foundation)
-WCF and WF integration-workflow service
. Net Framework 3.5 unifies the Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF) frameworks, in this way, you can use WF as a method to create a WCF Service or publish an existing WF workflow as a service. In this way, you can create a service with the following features: it can be maintained, you can easily pass in or out data to the workflow, and you can enforce application-level protocols.
-Persistent Service
. NET Framework 3.5 also introduces support for WCF services, which use the WF persistent model to save service status information. These persistent services save their status information on the application layer, so that the status information of the service can be reloaded from the persistent storage area when the session is canceled and re-created.
-WCF Web Programming Model
The WCF web programming model allows developers to use WCF to generate Web-style services. The Web programming model includes rich URI processing functions, support for all HTTP predicates including get, and a simple programming model. This programming model can process various message formats, including XML, JSON, and opacity binary streams.
-WCF Integration
WCF now contains a strongly typed object model that can be used to process integrated sources, including atom 1.0 and RSS 2.0 formats.
-WCF and partial trust
In. NET Framework 3.5, applications running with reduced permissions can use a limited subset of the WCF function. Server applications running with medium-trust ASP. Net permissions can use the WCF Service Model to create basic HTTP Services. Client applications (such as XAML browser applications or unsigned applications deployed using clickonce) that run under Internet permissions can use the WCF proxy to use the HTTP service. In addition, the functions of the WCF web programming model (including Ajax and integration) can be used by some trusted applications.
-Integration of WCF and ASP. NET Ajax
The integration of WCF and Asynchronous JavaScript and XML (Ajax) functions in ASP. NET provides an end-to-end programming model for building Web applications that can use the WCF Service. In Ajax-style Web applications, clients (such as browsers in Web applications) exchange a small amount of data with the server by using asynchronous requests. Integrating Ajax in ASP. NET provides a simple way to generate a WCF web service, which can be accessed by using the client Javascript in the browser.
-Web Service interoperability
In. NET Framework 3.5, Microsoft complies with its commitments regarding interoperability and public standards and introduces support for new security, reliability, and transactional web service standards:
-Web Service reliable message transmission version 1.1 (Web Services reliable messaging V1.1)
-Web Service reliable message transmission policy assertion version 1.1 (Web Services reliable messaging policy assertion V1.1)
-WS-secureconversation 1.3 (WS-secureconversation v1.3)
-WS-trust 1.3 (WS-trust v1.3)
-WS-securityPolicy 1.2 (WS-securityPolicy v1.2)
-Web Service atomic transaction version 1.1 [Web Services atomic transaction (WS-atomictransaction) Version 1.1]
-Web service collaboration version 1.1 [Web Services Coordination (WS-Coordination) Version 1.1]
-Web Service Policy 1.5-framework and attachment Web Services Policy 1.5-framework & attachment
You can use the new standard binding <ws2007httpbinding> and <ws2007federationhttpbinding> (described in the Web service protocol interoperability guide) to implement these protocols.
WF (Windows Workflow Foundation)
-WCF and WF integration-workflow service
. Net Framework 3.5 unifies the Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF) frameworks, in this way, you can use WF as a method to create a WCF Service or publish an existing WF workflow as a service. In this way, you can create a service with the following features: it can be maintained, you can easily pass in or out data to the workflow, and you can enforce application-level protocols.
-Rules
The WF rule engine now supports extension methods, Operator overloading, and the use of new operators in rules.
Windows Forms (Windows Forms)
-clickonce Improvement
you have made some improvements to clickonce. These improvements include deployment from multiple locations and third-party signatures.
. NET Framework 3.5 updates mage.exe, which is sometimes used with clickonce.
-authentication, role, and setting service
the client application service is. net Framework 3.5. These services allow Windows-based applications (including Windows Forms and Windows Presentation Foundation applications) to access ASP.. Net login, role, and configuration file service. Through these services, users can be authenticated, and user roles and application settings can be retrieved from the shared server.
You can enable client application services by specifying and configuring client service providers in the application configuration file or in the Visual Studio project designer. These providers are inserted into the web scalability model, so that you can access the Web Service through the existing. NET Framework login, role and set API. By storing and retrieving user information in the local data cache while the application is offline, the client application service also supports occasional connections.
-supported by Windows Vista
existing Windows Forms applications can run seamlessly on Windows Vista. If possible, they can be upgraded, make it look the same as an application for Windows Vista. The public file dialog box is automatically updated to Windows Vista .. Net Framework 3.5 also supports the User Account Control (UAC) shield icon.
-WPF support
Windows forms can be used to hold Windows Forms controls and Windows Presentation Foundation (WPF) controls and content. You can also open the WPF window in Windows form.
LINQ
Language integration Query [language-Integrated Query (LINQ)] is a new function in Visual Studio 2008 and. NET Framework 3.5. LINQ extends powerful query functions to C # and Visual Basic language syntaxes, and adopts standard and easy-to-learn query modes. This technology can be expanded to support almost any type of data storage .. Net Framework 3.5 contains the LINQ provider assembly, which supports querying. NET Framework collections, SQL Server databases, ADO. Net datasets, and XML documents using LINQ.
The components of LINQ include:
-System. LINQ namespace
It contains a set of standard query operators, types, and interfaces in the basic structure used for LINQ query. This namespace is located in the system. Core. dll assembly.
-System. Data. LINQ namespace
It contains classes that support interaction with relational databases in the LINQ to SQL application.
-System. Data. LINQ. Mapping namespace
It contains a class that can be used to generate a LINQ to SQL object model that represents the structure and content of a relational database.
-System. xml. LINQ namespace
It contains the class of LINQ to XML. LINQ to XML is an XML programming interface in memory, allowing you to easily and effectively modify XML documents. By using LINQ to XML, you can load XML, serialize XML, create an XML tree from scratch, operate on the XML tree in memory, and use XSD for verification. You can also combine these functions to convert an XML tree from one shape to another.
-New Types in system. Web. UI. webcontrols and System. Web. UI. Design. webcontrols namespaces . These new types (such as linqdatasource) support using the data source control in ASP. NET web pages.
-In the system. Data namespace Datarowcomparer, datarowextensions, and datatableextensions Supports the query of ADO. Net dataset objects by LINQ.
Note: In the class library, the class member page in the content pane and the index pane lists the LINQ extension methods applicable to this class.
Expression trees)
Expression Tree (expression trees) is a new feature in. NET Framework 3.5. It provides a way to represent language-level code in the form of data.
The system. LINQ. Expressions namespace (located in the system. Core. dll assembly) contains the type of the build block that belongs to the expression tree. These types can be used to represent different types of code expressions, such as method calls or equal comparisons.
The Expression Tree is widely used in LINQ queries for remote data sources (such as SQL databases. These queries are represented in the expression tree, which allows the query provider to check these queries and convert them into domain-specific query languages.
C #, C ++. net, VB.net, and other programming languages
There are three Microsoft programming languages specifically targeting. NET Framework: C #, C ++. net, VB.net
-New features in-C #
C #3.0 Language
Implicit local variables and Arrays
> When used with a local variable, the VaR keyword instructs the compiler to deduce the type of the variable or array element based on the expression on the right of the initialization statement.
Object Initial Value Setting item
> You can initialize an object without explicitly calling the constructor.
Set Initial Value
> You can use the initialization list instead of a specific call to add or other methods to initialize the set.
Extension Method
> Use static methods to extend existing classes. These static methods can be called through the instance method syntax.
Anonymous type
> Allows dynamic creation of unnamed structured types that can be added to the set and accessed using VAR.
Lambda expressions
> Supports inline expressions with input parameters that can be bound to a delegate or Expression Tree. For more information, see anonymous functions (C # programming guide ).
Query keywords
> Used to specify the keywords of substatements in the query expression: From clause, where clause (optional), sort clause (optional), join clause (optional), select or group clause, into clause (optional)
Automatically implemented attributes
> Attributes can be declared using simplified syntax.
Division method definition
> The Division type can now include the division method.
C #3.0 Compiler
/Win32manifest and/nowin32manifest compiler switch. These new compiler switches are used to specify the request execution level for programs running on Windows Vista.
Visual C # ide
Specify multiple versions
> Vs 2008 allows you to specify different. NET Framework versions for a project, for example, Framework 2.0, 3.0, or 3.5.
New project types and templates
> Multiple new project templates are provided for WPF, WCF, and web projects.
Support for C #3.0 intelliisense
> The Visual C # Code Editor provides the statement termination and quick information functions to support various new language features and constructor requirements in C #3.0.
Support for C #3.0 refactoring
> To support the construction of the following new languages, the refactoring function "RENAME", "signature change", "extraction method", and "upgrade local variables to parameters" have been updated: query expression, extension Method, Lambda expression. In addition, the refactoring function provides new options and warnings to help prevent unexpected consequences caused by refactoring operations.
Set code format
> The Code Editor provides the format setting option for multiple new C #3.0 language constructs, including Query expressions.
Organize using statements
> The Visual C # Code Editor provides an easy way to sort and remove using and extern declarations.
-New functions in Visual C ++ 2008 (omitted)
-New functions in Visual Basic (omitted)
[The end]
Trackback: http://blog.csdn.net/johnsuna/archive/2008/03/23/2210679.aspx