I tried to collect all the relevant improvements regarding .NET 3.5
w.r.t. forms for my quick reference. I will be glad if someone also gets value
from it. All the information below are from MSDN.
Collections
HashSet<T> provides high performance set operations to the .NET Framework. A set is a collection that contains no duplicate elements, and whose elements are in no particular order.
Diagnostics
The EventSchemaTraceListener class provides tracing of end-to-end, schema-compliant events. You can use end-to-end tracing for a system that has heterogeneous components that cross thread, AppDomain, process, and computer boundaries. A standardized event schema (see Event Representation for Event Consumers) has been defined to enable tracing across these boundaries. This schema is shared by various tracing technologies, including Windows Vista diagnostics tools such as Event Viewer. The schema also enables the addition of custom, schema-compliant elements.
The EventSchemaTraceListener class is tuned for logging performance with implicit support for lock-free tracing.
The GC class has a new Collect(Int32, GCCollectionMode) method overload that you can use to adjust the behavior for a forced garbage collection. For example, you can use this overload to specify that the garbage collector should determine whether the current time is optimal to reclaim objects. This overload takes a value from the new GCCollectionMode enumeration.
In addition, the following classes provide specific signature information:
StrongNameSignatureInformation Holds the strong name signature information for a manifest.
AuthenticodeSignatureInformation Represents the Authenticode signature information for a manifest.
TimestampInformation Contains information about the time stamp on an Authenticode signature.
TrustStatus Provides a simple way to check whether an Authenticode signature is trusted.
The following algorithms are included:
For
more information, see Client
Application Services.
Collections
HashSet<T> provides high performance set operations to the .NET Framework. A set is a collection that contains no duplicate elements, and whose elements are in no particular order.
Diagnostics
The EventSchemaTraceListener class provides tracing of end-to-end, schema-compliant events. You can use end-to-end tracing for a system that has heterogeneous components that cross thread, AppDomain, process, and computer boundaries. A standardized event schema (see Event Representation for Event Consumers) has been defined to enable tracing across these boundaries. This schema is shared by various tracing technologies, including Windows Vista diagnostics tools such as Event Viewer. The schema also enables the addition of custom, schema-compliant elements.
The EventSchemaTraceListener class is tuned for logging performance with implicit support for lock-free tracing.
I/O and Pipes
Pipes
provide inter-process communication between any processes running on the same
computer, or on any other Windows computer within a network. The .NET Framework
provides access to two types of pipes: anonymous pipes and named pipes. For
more information about pipes.
Garbage Collection
The GCSettings class has a new LatencyMode property that you can use to adjust
the time that the garbage collector intrudes in your application. You set this
property to one of the values of the new GCLatencyMode enumeration.The GC class has a new Collect(Int32, GCCollectionMode) method overload that you can use to adjust the behavior for a forced garbage collection. For example, you can use this overload to specify that the garbage collector should determine whether the current time is optimal to reclaim objects. This overload takes a value from the new GCCollectionMode enumeration.
Reflection and
Reflection Emit in Partial Trust
Assemblies that run with
partial trust can now emit code and execute it. Emitted code that calls only
public types and methods needs no permissions beyond the permissions demanded
by the types and methods that are accessed. The new DynamicMethod(String,
Type, Type[]) constructor makes it easy to emit such
code.
When
emitted code needs to access private data, the new DynamicMethod(String,
Type, Type[],
Boolean) constructor
allows restricted access. The host must grant ReflectionPermission with the new RestrictedMemberAccess flag to enable this feature, which
gives emitted code the ability to access private data only for types and
methods in assemblies with equal or lesser trust levels. See Walkthrough:
Emitting Code in Partial Trust Scenarios.
For
reflection, a host grant of RestrictedMemberAccess similarly allows restricted use of
methods that access private properties, call private methods, and so on, but
only for target assemblies with equal or lesser trust levels.
Threading
1. Better
Reader/Writer Lock
The
new ReaderWriterLockSlim class provides performance that is
significantly better than ReaderWriterLock, and comparable with the lock statement (SyncLock in Visual Basic). Transitions between
lock states have been simplified to make programming easier and to reduce the
chances of deadlocks. The new class supports recursion to simplify migration
from lock and fromReaderWriterLock.
2. ThreadPool
Performance Enhancements
Throughput for the
dispatch of work items and I/O tasks in the managed thread pool is
significantly improved. Dispatch is now handled in managed code, without
transitions to unmanaged code and with fewer locks. The use of ThreadPool is
recommended over application-specific thread pool implementations.
3. Time Zone
Improvements
Two new types, DateTimeOffset and TimeZoneInfo, improve support for time zones
and make it easier to develop applications that work with dates and times in
different time zones. For a discussion of which type to use in particular
situations, see Choosing Between DateTime, DateTimeOffset, and
TimeZoneInfo.
4. TimeZoneInfo
The new TimeZoneInfo class
largely supplants the existing TimeZone class.
You can use TimeZoneInfo to
retrieve any time zone defined in the registry, rather than just the local time
zone and Coordinated Universal Time (UTC). You can also use this class to
define custom time zones, to serialize and deserialize custom time zone data,
and to convert times between time zones. For more information about developing
applications that use the TimeZoneInfo class,
see Times and Time Zones.
5. DateTimeOffset
The
new DateTimeOffset structure extends the DateTime structure
to make working with times across time zones easier. The DateTimeOffset structure stores date and time
information as a UTC date and time together with an offset value that indicates
how much the time differs from UTC.
ClickOnce
Improvements
Several improvements
have been made to ClickOnce. Improvements include deployment from multiple
locations and third-party branding. For more information, see Deploying
ClickOnce Applications without Resigning and Creating
ClickOnce Applications for Others to Deploy.
The
Mage.exe tool, which is sometimes used together with ClickOnce, has been
updated for the .NET Framework 3.5. For more information, see Manifest
Generation and Editing Tool (Mage.exe).
ClickOnce Manifests
There are new
cryptography classes for verifying and obtaining information about manifest
signatures for ClickOnce applications. The ManifestSignatureInformation class obtains information about a
manifest signature when you use its VerifySignature method overloads. You can use the ManifestKinds enumeration to specify which manifests
to verify. The result of the verification is one of the SignatureVerificationResult enumeration values. The ManifestSignatureInformationCollection provides a read-only collection of ManifestSignatureInformation objects of the verified signatures.In addition, the following classes provide specific signature information:
StrongNameSignatureInformation Holds the strong name signature information for a manifest.
AuthenticodeSignatureInformation Represents the Authenticode signature information for a manifest.
TimestampInformation Contains information about the time stamp on an Authenticode signature.
TrustStatus Provides a simple way to check whether an Authenticode signature is trusted.
Suite B Support
The .NET Framework 3.5
supports the Suite B set of cryptographic algorithms published by the National
Security Agency (NSA). For the NSA documentation, see www.nsa.gov/ia/industry/crypto_suite_b.cfm.The following algorithms are included:
- Advanced Encryption Standard (AES) with key sizes of 128 and 256 bits for encryption.
- Secure Hash Algorithm (SHA-256 and SHA-384) for hashing.
- Elliptic Curve Digital Signature Algorithm (ECDSA) using curves of 256-bit and 384-bit prime moduli for signing. This algorithm is provided by the ECDsaCng class. It allows you to sign with a private key and verify with a public key.
- Elliptic Curve Diffie-Hellman (ECDH) using curves of 256 and 384-bit prime moduli for key exchange/secret agreement. This algorithm is provided by the ECDiffieHellmanCng class.
Authentication, Roles, and Settings Services
Client application
services are new in the .NET Framework 3.5 and enable Windows-based
applications (including Windows Forms and Windows Presentation Foundation applications)
to easily access the ASP.NET login, roles, and profile services. These services
enable you to authenticate users and retrieve user roles and application
settings from a shared server.
You
can enable client application services by specifying and configuring client
service providers in your application configuration file or in the Visual
Studio Project Designer. These providers plug into the Web extensibility model
and enable you to access the Web services through existing .NET Framework
login, roles, and settings APIs. Client application services also support
occasional connectivity by storing and retrieving user information from a local
data cache when the application is offline.
Windows Vista
Support
Existing
Windows Forms applications work seamlessly on Windows Vista, and they are
upgraded to have the same appearance as applications written specifically for
Windows Vista whenever possible. Common file dialog boxes are automatically
updated to the Windows Vista version. The .NET Framework 3.5 also
supports the User Account Control (UAC) Shield icon. For more information,
see FileDialog Class and Shield.
WPF support
You
can use Windows Forms to host Windows Presentation Foundation (WPF) controls
and content together with Windows Forms controls. You can also open WPF windows
from a Windows Form. For more information about how to use Windows Forms and
WPF together, see Migration and Interoperability.
LINQ
LINQ extends powerful
query capabilities to the language syntax of C# and Visual Basic in the
form of standard, easily-learned query patterns. This technology can be
extended to support potentially any kind of data store. The .NET Framework 3.5
includes LINQ provider assemblies that enable the use of LINQ for
querying .NET Framework collections, SQL Server databases, ADO.NET Datasets,
and XML documents.
The components of LINQ that are part of the .NET Framework 3.5
are:
- The System.Linq namespace, which contains the set of standard query operators and types and interfaces that are used in the infrastructure of a LINQ query. This namespace is in the System.Core.dll assembly.
- The System.Data.Linq namespace, which contains classes that support interaction with relational databases in LINQ to SQL applications.
- The System.Data.Linq.Mapping namespace, which contains classes that can be used to generate a LINQ to SQL object model that represents the structure and content of a relational database.
- The System.Xml.Linq namespace, which contains the classes for LINQ to XML. LINQ to XML is an in-memory XML programming interface that enables you to modify XML documents efficiently and easily. Using LINQ to XML, you can load XML, serialize XML, create XML trees from scratch, manipulate in-memory XML trees, and validate by using XSD. You can also use a combination of these features to transform XML trees from one shape into another.
- New types in System.Web.UI.WebControls and System.Web.UI.Design.WebControls namespaces. These new types, such as LinqDataSource, support the use of LINQ in ASP.NET Web pages through a data source control.
- The DataRowComparer, DataRowExtensions, and DataTableExtensions classes in the System.Data namespace support LINQ queries against ADO.NET DataSet objects.
We find lots of learning after reading this very useful article .
ReplyDeleteGreat Article. Thank you for sharing! Really an awesome post for every one.
ReplyDeleteIEEE Final Year projects Project Centers in Chennai are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes, while specialists like the enjoyment in interfering with innovation. For experts, it's an alternate ball game through and through. Smaller than expected IEEE Final Year project centers ground for all fragments of CSE & IT engineers hoping to assemble. Final Year Project Domains for IT It gives you tips and rules that is progressively critical to consider while choosing any final year project point.
JavaScript Training in Chennai
JavaScript Training in Chennai
ReplyDeleteIf you want a babe from the house of Russian Escorts in Agra there are a few things you should know well before making a booking. Firstly our agency here at your city. In simple words is a cut above the rest because of the highly professional services we provide to our clients. Check our other Services...
Escorts in Agra
Russian Escorts in Agra
Escorts in Agra
Female Escorts in Agra
Russian Escorts in Agra
👉Escorts in Jaipur
ReplyDelete👉Escorts in Jaipur
👉Escorts in Jaipur
👉Escorts in Delhi
👉Escorts in Guwahati
👉Escorts in Guwahati
👉Escorts in Guwahati
👉Escorts in Guwahati