SlideShare a Scribd company logo
Intro into new Features
What's New in .Net 4.5
Improvements to
  • WeakReferences

  • ArraySegment

  • Streams

  • ReadOnlyDictionary

  • Compression

  • Bigger than 2GB Objects
Background Server GC
  • Shorter pauses when doing Gen2 Collections



(Server GC) Scalable Marking for full blocking GCs


Large Object Heap Allocation Improvements
  • Better use of free space on LOH

  • Balancing the LOH allocations across processors (Server only)

  • Up to 2GB Large Array on 32bit and more then 2GB on 64bit
    Systems
public class SomeClass {

    public void DownloadStringAsync() {

        WebClient wc1 = new WebClient();

        wc1.DownloadStringCompleted += (sender, e) => {
            string res = e.Result;
        };

        wc1.DownloadStringAsync(new Uri("http://www.SomeWeb.../"));
    }
}
public class SomeClass {

    public async void DownloadStringAsync() {

        WebClient web = new WebClient();

        string res = await web.DownloadStringAsync("www.SomeWeb...");
    }
}
Two keywords for asynchronous programming:
The method signature includes an Async or async
modifier.

The name of an async method, by convention, ends
with an "Async" suffix.

The return type is one of the following types:
  Task<TResult> if the method has a return statement in
   which the operand has type TResult.
  Task if the method has no return statement or has a
   return statement with no operand.
  Void (a Sub in Visual Basic) if its an async event handler.
The method usually includes at least one await
expression, which marks a point where the
method can't continue until the awaited
asynchronous operation is complete.
In the meantime, the method is suspended, and
control returns to the method's caller.
•   These features add a task-based model for
    performing asynchronous operations. To use
    this new model, use the asynchronous methods
    in the I/O classes.

•   Asynchronous operations enable you to perform
    resource-intensive I/O operations without
    blocking the main thread.

•   This performance consideration is particularly
    important in a Windows Metro style app or
    desktop app where a time-consuming stream
    operation can block the UI thread and make your
    app appear as if it is not working.
async void DisplayUserInfo(string userName) {
                            var image = FetchUserPictureAsync(userName);
                            var address = FetchUserAddressAsync(userName);
                            var phone = FetchUserPhoneAsync(userName);
                            await Task.WhenAll(image, address, phone);
                            DisplayUser(image.Result, address.Result,
                                        phone.Result);
                        }
   Client UI Code
     • Easy to write client UI code that doesn’t block
   Business logic
     • Easy to write code that fetches data from multiple sources in
       parallel
   Server code
     • Better scalability – no need to have a thread per request.
   New APIs in BCL, ASP.NET, ADO.NET, WCF, XML, WPF
 Combinators
 Task.WhenAll, Task.WhenAny
 Timer   integration
 Task.Delay(TimeSpan),
 CancellationTokenSource.CancelAfter(TimeSpan)
 Task   scheduling
 ConcurrentExclusiveSchedulerPair
 Fine-grained   control
 DenyChildAttach, HideScheduler, LazyCancellation,
 EnumerablePartitionerOptions
 ThreadLocal<T>.Values


 PERFORMANCE         (“it’s just faster”)
The Managed Extensibility Framework (MEF)
provides the following new features:
  Support for generic types.
  Convention-based programming model that enables to
   create parts based on naming conventions rather than
   attributes.
  Multiple scopes.
  A subset of MEF that you can use when you create Metro
   style apps. This subset is available as a downloadable
   package from the NuGet Gallery.
   All your objects are MEF now
    • Generics
    • POCO
    • Explicit Wiring (wire specific MEF parts the way YOU
      want)


   MEF problems are easy to diagnose
    • Break on First Chance Exceptions
    • Visualize the exception
    • Fix your problem!
Resource File Generator (Resgen.exe)
 - enables you to create a .resw file for use in
Windows apps from a .resources file embedded in a
.NET Framework assembly.

Managed Profile Guided Optimization
(Mpgo.exe)
 - enables you to improve application startup time,
memory utilization (working set size), and
throughput by optimizing native image assemblies.
The command-line tool generates profile data for
native image application assemblies.
Improved performance, increased control,
improved support for asynchronous
programming, a new dataflow library, and
improved support for parallel debugging and
performance analysis.
The performance of TPL, such that just by
upgrading to .NET 4, important workloads will
just get faster, with no code changes or even
recompilation required.


More queries in .NET 4.5 will now automatically
run in parallel. A prime example of this is a
ASP .NET 4.5 includes the following new
features:
  • Support for new HTML5 form types.

  • Support for model binders in Web Forms. These let you
   bind data controls directly to data-access methods, and
   automatically convert user input to and from .NET
   Framework data types.
  • Support for unobtrusive JavaScript in client-side
   validation scripts.
  • Improved handling of client script through bundling and
   minification for improved page performance.
  • Integrated encoding routines from the AntiXSS library
• Support for WebSockets protocol.

• Support for reading and writing HTTP
 requests and responses asynchronously.

• Support for asynchronous modules and
 handlers.

• Support for content distribution network
 (CDN) fallback in the ScriptManager
 control.
The ASP.NET Web API takes the best features from WCF Web
API and merges them with the best features from MVC.

The integrated stack supports the following
features:











From 353,5 KB
           + multiple call
           overhead


+84% improvement
           To 59.83 KB
           + one call
           overhead
 Two  ways to run ASP.NET
  • Start app, keep it running
  • Start when a request comes in (e.g. Hosters)

 35% faster cold start
  • Multi-core JIT
  • Windows Server 8 pre-fetch option

 Working   set improvements
 Even   more support for SQL Server 2008  2012
 • Null bit compression for sparse columns

 Support   for new Denali features
 • Support for High Availability
    Just set the correct keyword in the connection string
    Fast Failover across multiple subnets
 • Support for new Spatial Types (GIS)

 More   good stuff
 • Passwords encrypted in memory
 • Async support
•   Spatial data support

•   Table valued functions

•   Stored procs with multiple result sets

•   Automatic compiled LINQ queries

•   Query optimization
•   Runs on it’s own cadence – so more features &
    improvements more often

•   Enum support throughout

•   Support for localdb

•   Designer improvements!
    (Multiple diagrams per model)
 Improve     Developer Productivity
  • Enums
  • Migrations
  • Batch Sproc Import
  • Designer highlighting and coloring



 Enable    SQL Server and Azure Features
  • Spatial (Geometry and Geography)
  • Table-valued functions
  • Sprocs with multiple result sets


 Increase     Enterprise Readiness
  • Multiple diagrams per model
  • TPT query optimizations
  • Automatic compiled LINQ queries
The .NET Framework 4.5 provides a new programming
interface for HTTP applications.
New System.Net.Http and System.Net.Http.Headers namespa
ces.
A new programming interface for accepting and interacting
with a WebSocket connection by using the
existing HttpListener and related classes
The .NET Framework 4.5 includes the following networking
improvements:
•   RFC-compliant URI support. For more information,
    see Uri and related classes.
•   Support for Internationalized Domain Name (IDN) parsing.
   Simplified Generated Configuration Files
    • New Transport Default Values
    • XmlDictionaryReaderQuotas

   Contract-First Development
   WCF Configuration Validation
    • XML Editor Tooltips
    • Configuration Intellisense

   ASP.NET Compatibility Mode Default Changed
   Simplifying Exposing an Endpoint Over HTTPS with
    IIS
   Generating a Single WSDL Document
   Streaming Improvements
    • Async Streaming
 WebSocket Support
 ChannelFactory Caching

 Scalable   modern communication stack
  • Interoperable UDP multi-cast channel
  • TCP support for high-density scenarios (partial
    trust)
  • Async
  • Improved streaming support

 Continued   commitment to simplicity
  • Further config simplification, making WCF
    throttles/quotas smarter & work for you by default!
  • Better manageability via rich ETW & e2e tracing
   The New Ribbon Controls
   Validating data asynchronously and synchronously
   Data Binding Changes
    • Improved performance when displaying large sets of
        grouped data
    •   Delay property binding
    •   Accessing collections on non-UI Threads
    •   Binding to static properties
    •   And more!
   Markup extensions for events
   ItemsControl Improvements
   New features for the VirtualizingPanel
   Improved Weak Reference Mechanism
OOM
at 7
min




       24.5s
               2.3s
   .NET 4.5 is an in-place update that helps us make
    sure it is highly compatible.
   .NET 4.5 makes it easy and natural to write Metro
    style apps using C# and VB
   .NET 4.5 makes your apps run faster: Faster ASP.NET
    startup, fewer pauses due to Server GCs, and great
    support for Asynchronous programming
   .NET 4.5 gives you easy, modern access to your data,
    with support for Entity Framework Code First, and
    recent SQL Server features, and WebSockets
   .NET 4.5 addresses the top developer requests in
    WPF, Workflow, BCL, MEF, and ASP.NET
What's New in .Net 4.5
Ad

More Related Content

What's hot (20)

Evolution of .net frame work
Evolution of .net frame workEvolution of .net frame work
Evolution of .net frame work
vc7722
 
Visual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 OverviewVisual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 Overview
Harish Ranganathan
 
Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)
Mohamed Saleh
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
Svetlin Nakov
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
Ali Taki
 
.Net framework
.Net framework.Net framework
.Net framework
Yogendra Tamang
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
citizenmatt
 
.Net overview
.Net overview.Net overview
.Net overview
AWADHESH PRATAP SINGH UNIVERSITY, REWA (M.P.)
 
Introduction to .Net
Introduction to .NetIntroduction to .Net
Introduction to .Net
Hitesh Santani
 
Life as an asp.net programmer
Life as an asp.net programmerLife as an asp.net programmer
Life as an asp.net programmer
Arun Prasad
 
Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]
vaishalisahare123
 
.Net language support
.Net language support.Net language support
.Net language support
Then Murugeshwari
 
dot NET Framework
dot NET Frameworkdot NET Framework
dot NET Framework
Roy Antony Arnold G
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.net
suraj pandey
 
Introduction to Visual Studio.NET
Introduction to Visual Studio.NETIntroduction to Visual Studio.NET
Introduction to Visual Studio.NET
Dutch Dasanaike {LION}
 
Overview of .Net Framework
Overview of .Net FrameworkOverview of .Net Framework
Overview of .Net Framework
Neha Singh
 
Dotnet framework
Dotnet frameworkDotnet framework
Dotnet framework
Nitu Pandey
 
An isas presentation on .net framework 2.0 by vikash chandra das
An isas presentation on .net framework 2.0 by vikash chandra dasAn isas presentation on .net framework 2.0 by vikash chandra das
An isas presentation on .net framework 2.0 by vikash chandra das
Vikash Chandra Das
 
Vb6 vs vb.net....(visual basic) presentation
Vb6 vs vb.net....(visual basic) presentationVb6 vs vb.net....(visual basic) presentation
Vb6 vs vb.net....(visual basic) presentation
Iftikhar Ahmad
 
Working in Visual Studio.Net
Working in Visual Studio.NetWorking in Visual Studio.Net
Working in Visual Studio.Net
Dutch Dasanaike {LION}
 
Evolution of .net frame work
Evolution of .net frame workEvolution of .net frame work
Evolution of .net frame work
vc7722
 
Visual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 OverviewVisual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 Overview
Harish Ranganathan
 
Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)
Mohamed Saleh
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
Svetlin Nakov
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
Ali Taki
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
citizenmatt
 
Life as an asp.net programmer
Life as an asp.net programmerLife as an asp.net programmer
Life as an asp.net programmer
Arun Prasad
 
Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]
vaishalisahare123
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.net
suraj pandey
 
Overview of .Net Framework
Overview of .Net FrameworkOverview of .Net Framework
Overview of .Net Framework
Neha Singh
 
Dotnet framework
Dotnet frameworkDotnet framework
Dotnet framework
Nitu Pandey
 
An isas presentation on .net framework 2.0 by vikash chandra das
An isas presentation on .net framework 2.0 by vikash chandra dasAn isas presentation on .net framework 2.0 by vikash chandra das
An isas presentation on .net framework 2.0 by vikash chandra das
Vikash Chandra Das
 
Vb6 vs vb.net....(visual basic) presentation
Vb6 vs vb.net....(visual basic) presentationVb6 vs vb.net....(visual basic) presentation
Vb6 vs vb.net....(visual basic) presentation
Iftikhar Ahmad
 

Similar to What's New in .Net 4.5 (20)

Signal R 2015
Signal R 2015Signal R 2015
Signal R 2015
Mihai Coscodan
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
Frank La Vigne
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
Dennis van der Stelt
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
WSPDC & FEDSPUG
 
What’s new in the 4.5
What’s new in the 4.5What’s new in the 4.5
What’s new in the 4.5
Yuriy Seniuk
 
ASP.NET vNext
ASP.NET vNextASP.NET vNext
ASP.NET vNext
Alex Thissen
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
Lalit Kale
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
FoundationDB
 
Beginners Node.js
Beginners Node.jsBeginners Node.js
Beginners Node.js
Khaled Mosharraf
 
Aws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon ElishaAws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon Elisha
Helen Rogers
 
.net Framework
.net Framework.net Framework
.net Framework
Rishu Mehra
 
Serverless-Computing-The-Future-of-Backend-Development
Serverless-Computing-The-Future-of-Backend-DevelopmentServerless-Computing-The-Future-of-Backend-Development
Serverless-Computing-The-Future-of-Backend-Development
Ozias Rondon
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
vipin kumar
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
Alex Thissen
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
Hojoong Kim
 
Unboxing ASP.NET Core
Unboxing ASP.NET CoreUnboxing ASP.NET Core
Unboxing ASP.NET Core
Kevin Leung
 
Introduction to asp
Introduction to aspIntroduction to asp
Introduction to asp
Madhuri Kavade
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
Ido Flatow
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
David Voyles
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
Frank La Vigne
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
WSPDC & FEDSPUG
 
What’s new in the 4.5
What’s new in the 4.5What’s new in the 4.5
What’s new in the 4.5
Yuriy Seniuk
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
Lalit Kale
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
FoundationDB
 
Aws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon ElishaAws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon Elisha
Helen Rogers
 
Serverless-Computing-The-Future-of-Backend-Development
Serverless-Computing-The-Future-of-Backend-DevelopmentServerless-Computing-The-Future-of-Backend-Development
Serverless-Computing-The-Future-of-Backend-Development
Ozias Rondon
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
vipin kumar
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
Alex Thissen
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
Hojoong Kim
 
Unboxing ASP.NET Core
Unboxing ASP.NET CoreUnboxing ASP.NET Core
Unboxing ASP.NET Core
Kevin Leung
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
Ido Flatow
 
Ad

Recently uploaded (20)

Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Ad

What's New in .Net 4.5

  • 1. Intro into new Features
  • 3. Improvements to • WeakReferences • ArraySegment • Streams • ReadOnlyDictionary • Compression • Bigger than 2GB Objects
  • 4. Background Server GC • Shorter pauses when doing Gen2 Collections (Server GC) Scalable Marking for full blocking GCs Large Object Heap Allocation Improvements • Better use of free space on LOH • Balancing the LOH allocations across processors (Server only) • Up to 2GB Large Array on 32bit and more then 2GB on 64bit Systems
  • 5. public class SomeClass { public void DownloadStringAsync() { WebClient wc1 = new WebClient(); wc1.DownloadStringCompleted += (sender, e) => { string res = e.Result; }; wc1.DownloadStringAsync(new Uri("http://www.SomeWeb.../")); } }
  • 6. public class SomeClass { public async void DownloadStringAsync() { WebClient web = new WebClient(); string res = await web.DownloadStringAsync("www.SomeWeb..."); } }
  • 7. Two keywords for asynchronous programming: The method signature includes an Async or async modifier. The name of an async method, by convention, ends with an "Async" suffix. The return type is one of the following types:  Task<TResult> if the method has a return statement in which the operand has type TResult.  Task if the method has no return statement or has a return statement with no operand.  Void (a Sub in Visual Basic) if its an async event handler.
  • 8. The method usually includes at least one await expression, which marks a point where the method can't continue until the awaited asynchronous operation is complete. In the meantime, the method is suspended, and control returns to the method's caller.
  • 9. These features add a task-based model for performing asynchronous operations. To use this new model, use the asynchronous methods in the I/O classes. • Asynchronous operations enable you to perform resource-intensive I/O operations without blocking the main thread. • This performance consideration is particularly important in a Windows Metro style app or desktop app where a time-consuming stream operation can block the UI thread and make your app appear as if it is not working.
  • 10. async void DisplayUserInfo(string userName) { var image = FetchUserPictureAsync(userName); var address = FetchUserAddressAsync(userName); var phone = FetchUserPhoneAsync(userName); await Task.WhenAll(image, address, phone); DisplayUser(image.Result, address.Result, phone.Result); }  Client UI Code • Easy to write client UI code that doesn’t block  Business logic • Easy to write code that fetches data from multiple sources in parallel  Server code • Better scalability – no need to have a thread per request.  New APIs in BCL, ASP.NET, ADO.NET, WCF, XML, WPF
  • 11.  Combinators Task.WhenAll, Task.WhenAny  Timer integration Task.Delay(TimeSpan), CancellationTokenSource.CancelAfter(TimeSpan)  Task scheduling ConcurrentExclusiveSchedulerPair  Fine-grained control DenyChildAttach, HideScheduler, LazyCancellation, EnumerablePartitionerOptions  ThreadLocal<T>.Values  PERFORMANCE (“it’s just faster”)
  • 12. The Managed Extensibility Framework (MEF) provides the following new features:  Support for generic types.  Convention-based programming model that enables to create parts based on naming conventions rather than attributes.  Multiple scopes.  A subset of MEF that you can use when you create Metro style apps. This subset is available as a downloadable package from the NuGet Gallery.
  • 13. All your objects are MEF now • Generics • POCO • Explicit Wiring (wire specific MEF parts the way YOU want)  MEF problems are easy to diagnose • Break on First Chance Exceptions • Visualize the exception • Fix your problem!
  • 14. Resource File Generator (Resgen.exe) - enables you to create a .resw file for use in Windows apps from a .resources file embedded in a .NET Framework assembly. Managed Profile Guided Optimization (Mpgo.exe) - enables you to improve application startup time, memory utilization (working set size), and throughput by optimizing native image assemblies. The command-line tool generates profile data for native image application assemblies.
  • 15. Improved performance, increased control, improved support for asynchronous programming, a new dataflow library, and improved support for parallel debugging and performance analysis. The performance of TPL, such that just by upgrading to .NET 4, important workloads will just get faster, with no code changes or even recompilation required. More queries in .NET 4.5 will now automatically run in parallel. A prime example of this is a
  • 16. ASP .NET 4.5 includes the following new features: • Support for new HTML5 form types. • Support for model binders in Web Forms. These let you bind data controls directly to data-access methods, and automatically convert user input to and from .NET Framework data types. • Support for unobtrusive JavaScript in client-side validation scripts. • Improved handling of client script through bundling and minification for improved page performance. • Integrated encoding routines from the AntiXSS library
  • 17. • Support for WebSockets protocol. • Support for reading and writing HTTP requests and responses asynchronously. • Support for asynchronous modules and handlers. • Support for content distribution network (CDN) fallback in the ScriptManager control.
  • 18. The ASP.NET Web API takes the best features from WCF Web API and merges them with the best features from MVC. The integrated stack supports the following features:          
  • 19. From 353,5 KB + multiple call overhead +84% improvement To 59.83 KB + one call overhead
  • 20.  Two ways to run ASP.NET • Start app, keep it running • Start when a request comes in (e.g. Hosters)  35% faster cold start • Multi-core JIT • Windows Server 8 pre-fetch option  Working set improvements
  • 21.  Even more support for SQL Server 2008 2012 • Null bit compression for sparse columns  Support for new Denali features • Support for High Availability  Just set the correct keyword in the connection string  Fast Failover across multiple subnets • Support for new Spatial Types (GIS)  More good stuff • Passwords encrypted in memory • Async support
  • 22. Spatial data support • Table valued functions • Stored procs with multiple result sets • Automatic compiled LINQ queries • Query optimization
  • 23. Runs on it’s own cadence – so more features & improvements more often • Enum support throughout • Support for localdb • Designer improvements! (Multiple diagrams per model)
  • 24.  Improve Developer Productivity • Enums • Migrations • Batch Sproc Import • Designer highlighting and coloring  Enable SQL Server and Azure Features • Spatial (Geometry and Geography) • Table-valued functions • Sprocs with multiple result sets  Increase Enterprise Readiness • Multiple diagrams per model • TPT query optimizations • Automatic compiled LINQ queries
  • 25. The .NET Framework 4.5 provides a new programming interface for HTTP applications. New System.Net.Http and System.Net.Http.Headers namespa ces. A new programming interface for accepting and interacting with a WebSocket connection by using the existing HttpListener and related classes The .NET Framework 4.5 includes the following networking improvements: • RFC-compliant URI support. For more information, see Uri and related classes. • Support for Internationalized Domain Name (IDN) parsing.
  • 26. Simplified Generated Configuration Files • New Transport Default Values • XmlDictionaryReaderQuotas  Contract-First Development  WCF Configuration Validation • XML Editor Tooltips • Configuration Intellisense  ASP.NET Compatibility Mode Default Changed  Simplifying Exposing an Endpoint Over HTTPS with IIS  Generating a Single WSDL Document  Streaming Improvements • Async Streaming
  • 27.  WebSocket Support  ChannelFactory Caching  Scalable modern communication stack • Interoperable UDP multi-cast channel • TCP support for high-density scenarios (partial trust) • Async • Improved streaming support  Continued commitment to simplicity • Further config simplification, making WCF throttles/quotas smarter & work for you by default! • Better manageability via rich ETW & e2e tracing
  • 28. The New Ribbon Controls  Validating data asynchronously and synchronously  Data Binding Changes • Improved performance when displaying large sets of grouped data • Delay property binding • Accessing collections on non-UI Threads • Binding to static properties • And more!  Markup extensions for events  ItemsControl Improvements  New features for the VirtualizingPanel  Improved Weak Reference Mechanism
  • 29. OOM at 7 min 24.5s 2.3s
  • 30. .NET 4.5 is an in-place update that helps us make sure it is highly compatible.  .NET 4.5 makes it easy and natural to write Metro style apps using C# and VB  .NET 4.5 makes your apps run faster: Faster ASP.NET startup, fewer pauses due to Server GCs, and great support for Asynchronous programming  .NET 4.5 gives you easy, modern access to your data, with support for Entity Framework Code First, and recent SQL Server features, and WebSockets  .NET 4.5 addresses the top developer requests in WPF, Workflow, BCL, MEF, and ASP.NET