Preko o čitnega Novosti v .NET Framework 3.5

28
Preko očitnega Novosti v .NET Framework 3.5 Matevž Gačnik Gama System d.o.o. Microsoft regionalni direktor Microsoft MVP – Solution Architect Blog: http://www.request-response.com

description

Preko o čitnega Novosti v .NET Framework 3.5. Matevž Gačnik Gama System d.o.o. Microsoft regionalni direktor Microsoft MVP – Solution Architect Blog: http ://www.request-response.com. Agenda. Ozadje Zeleni proti rdečim Platformne novosti Novosti v BCL Novosti v WCF, WF Pogled naprej. - PowerPoint PPT Presentation

Transcript of Preko o čitnega Novosti v .NET Framework 3.5

Page 1: Preko o čitnega Novosti v .NET Framework 3.5

Preko očitnegaNovosti v .NET Framework 3.5Matevž GačnikGama System d.o.o.Microsoft regionalni direktorMicrosoft MVP – Solution ArchitectBlog: http://www.request-response.com

Page 2: Preko o čitnega Novosti v .NET Framework 3.5

Agenda Ozadje Zeleni proti rdečim Platformne novosti Novosti v BCL Novosti v WCF, WF Pogled naprej

Page 3: Preko o čitnega Novosti v .NET Framework 3.5

.NET Framework 1.0

AD 2002

CLR 1.0.3705

Visual

Studio .NET

Rainer

Ozadje .NET Framework 1.0 < 1.1 < 2.0 < 3.0 < 3.5

.NET Framework 1.1

AD 2001

CLR 1.1.4322

Visual

Studio .NET

2003

Everett

.NET Framework 2.0

AD 2005

CLR

2.0.50727

Visual Studio

2005

Whidbey

WinFx

AD 2006

CLR

2.0.50727

.NET Framework 3.0

AD 2006

CLR

2.0.50727

.NET Framework 3.5

AD 2008

CLR

2.0.50727

Visual Studio

2008

Orcas

Page 4: Preko o čitnega Novosti v .NET Framework 3.5

Ozadje Seattle

Redmond

Microsoft

Visual

Studio .NET / 1.0

Rainier

Page 5: Preko o čitnega Novosti v .NET Framework 3.5

OzadjeVisual Studio

2008

Orcas

Orcas

Whidbey

Everett

Seattle

Visual Studio

2005

Whidbey

Visual

Studio .NET

2003

Everett

Page 6: Preko o čitnega Novosti v .NET Framework 3.5

.NET Framework 3.5

.NET Framework 2.0 + SP1

Windows

Presentation

Foundation

Windows

Communication

Foundation

Windows

Workflow

Foundation

Windows

CardSpace

.NET Framework 3.0 + SP1

.NET Framework 3.5

LINQ ASP.NET 3.5 Razširjen BCLOstali

napredki

Page 7: Preko o čitnega Novosti v .NET Framework 3.5

v3.5.xx

Zeleni proti rdečim Zeleni biti (green bits), rdeči biti (red bits) Rdeči: v2.0 SP1, v3.0 SP1, zeleni - novo

v2.0 RTM

v2.0.50727.42

v3.0.xx

v2.0 RTM

v2.0.50727.xxv3.0

v2.0 RTM

v2.0.50727.312

XP SP2, Server 2003 SP1

Vista

v3.0

v2.0 RTM

v2.0.50727.42

Page 8: Preko o čitnega Novosti v .NET Framework 3.5

Windows Server 2008

Čista namestitev

• .NET Framework 2.0

+ SP1

Vloga App Server

• .NET Framework 3.0

+ SP1

Naslednji verzija sistema Windows Server (Q1 2008)

Kaj pride z Windows Server 2008?

Windows Server 2008 Core?

Page 9: Preko o čitnega Novosti v .NET Framework 3.5

GCGeneracije

Generacija 0

Generacija 1

Generacija 2

Tri generacije

Objekti se starajo

Starejši objekti so v starejši generaciji

Količina objektov se veča z generacijo

Gen2 je najdražja

Page 10: Preko o čitnega Novosti v .NET Framework 3.5

GCKriza srednjih let Proces prebije >30% časa znotraj GC

BTW: Normalno je 1%

Objekti živijo dobro in predolgo

Preživijo gen1 in posledično gredo v gen2

Promocija se zgodi ob času GC

Čas GC se lahko zgodi

Ob alokaciji

Eksplicitno

Sistem je v pomanjkanju pomnilnika

Page 11: Preko o čitnega Novosti v .NET Framework 3.5

GCGranulacija v .NET Fx 3.5

System.GC.CollectionMode Enum Vrednost Forced Vrednost Optimized Vrednost Default Default je trenutno Forced

Privzeta vrednost se lahko spremeni v prihodnjih različicah

Page 12: Preko o čitnega Novosti v .NET Framework 3.5

GCGranulacija v .NET Fx 3.5

System.GC.Collect(int generation, GCCollectionMode mode)

Eksplicitni klic Podamo generacijo Podamo način pobiranja

Če rečemo Collect(2, GCCollectionMode. Forced) bo drago

Pazljivo!

Page 13: Preko o čitnega Novosti v .NET Framework 3.5

GCLatenca v .NET Fx 3.5

<configuration> <runtime> <gcServer enabled=“true"/> </runtime> </configuration>

Tipi GC

Workstation GC

• Concurrent GC

• Nonconcurrent GC

Server GCSamo multiproc in multicore

<configuration>

<runtime>

<gcConcurrent enabled=“true"/>

</runtime>

</configuration>

Page 14: Preko o čitnega Novosti v .NET Framework 3.5

GCLatenca v .NET Fx 3.5

System.Runtime.GCLatencyMode Enum Vrednost Batch Vrednost Interactive Vrednost LowLatency Default je trenutno Interactive

Server

GC

•Batch

Workstation GC

•Batch•Interactive

•LowLatency

Kako nastavimo?

GCLatencyMode oldMode = GCSettings.LatencyMode;

try { GCSettings.LatencyMode = GCLatencyMode.LowLatency; // work }

catch (ApplicationException) { // ujamemo }

finally { GCSettings.LatencyMode = oldMode; }

Page 15: Preko o čitnega Novosti v .NET Framework 3.5

Razširitvene metode Ideja:

Razširiti obstoječi tip Brez bolečin, brez prevoda – lastnost prevajalnika Infiksna notacija – x.Op1(arg1).Op2(arg2)

Trenutne opcije: Dedovanje

Zoprno, neskalabilno Kaj narediti z zapečatenimi (sealed) tipi?

Alternativa je statik Bloatware Vhodna referenca Izhodna referenca Prefiksna notacija – Help.Op2(Help.Op1(x,arg1),arg2)

Page 16: Preko o čitnega Novosti v .NET Framework 3.5

Torej kako? Definiramo statični razred Definiramo statično metodo z določenim

parametričnim modelom Prvi parameter Naslednji parametri

Page 17: Preko o čitnega Novosti v .NET Framework 3.5

Language INtegrated Query (LINQ)

Namenjen zmanjševanju kompleksnosti pri rokovanju s podatki

Povpraševalni operatorji delujejo nad vsako zbirko (prijatelji v System.Collections) Vgrajeni primeri: Select, Where, GroupBy, Join, ... Razširitveni model omogoča zamenjavo

Prednosti Konsistentnost dela ne glede na tip podatkov Pogled na podatke kot objekte Boljša integracija s programskimi jeziki IntelliSense produktivnost

Programski model, ki integrira podatkovni dostop v sintakso programskih jezikov .NET

Page 18: Preko o čitnega Novosti v .NET Framework 3.5

Arhitektura LINQ

Objekti

<book>

<title/>

<author/>

<year/>

<price/>

</book>XML

LINQ

C# 3.0 VB 9.0 Ostali…

Relacijska shema

LINQ to

Objects

LINQ to

SQL

LINQ to

XML

LINQ to

DataSets

Page 20: Preko o čitnega Novosti v .NET Framework 3.5

Spletne aplikacije Integrirana podpora za ASP.NET AJAX 1.0

Vključen v .NET Framework 3.5 VS 2008

Projektne predloge za ASP.NET AJAX (Visual Studio 2008) Predloge spletnih projektov (Visual Studio 2008) Javascript IntelliSense & Debugging Bogatejša podpora HTML/CSS načrtovalcu Ločen pogled (hkrati izvorna koda in načrtovalec) Improved CSS/HTML layout and visualization in designer

Nove spletne kontrole LinqDataSource, ListView, DataPager

Page 21: Preko o čitnega Novosti v .NET Framework 3.5

Mobilne aplikacije .NET Compact Framework 3.5

Podpora za LINQ (XML, Objects in Dataset) Windows Communication Foundation CLR Profiler / Performance Monitor BCL napredki: podpora kompresiji, certifikati

odjemalske strani, Sound API

Page 22: Preko o čitnega Novosti v .NET Framework 3.5

Storitve (WCF, WF) .NET 3.0: Dodane tehnologije

WCF – Enoten programski model in izvajalno okolje za storitve

WF – Fleksibilno, deklarativno izvajalno okolje za delovne tokove in aktivnosti

.NET 3.5: Napredki Programski model HTTP Serializacija JSON in integracija z ASP.NET AJAX Sindikacija (RSS, ATOM), POX in JSON serializacija

odgovorov Razvojna orodja v VS 2008

Add Service Reference, Integriran WF Designer Predloge projektov, testni gostitelj in odjemalec Konfiguracijski editor WCF

Page 23: Preko o čitnega Novosti v .NET Framework 3.5

WCF kot sindikator / POX Sindikacijska podpora za:

Generiranje, obdelavo in oddajo RSS 2.0 in ATOM 1.0 tokov

Klasični storitveni vmesnik POX / REST podpora:

Vsi webby načini GET POST PUT DELETE

Preprostost

Page 24: Preko o čitnega Novosti v .NET Framework 3.5

Podpora WS-* Dve novi vezavi znotraj WCF

WS2007HttpBinding WS2007FederationHttpBinding Variante 2005 delujejo nespremenjeno

Podprte specifikacije WS-RM 1.1, WS-AT 1.1, WS-Coordination 1.1 WS-SecureConversation 1.3, WS-Trust 1.3, WS-

SecurityPolicy 1.2 Standardizirane <> oddane specifikacije

Page 25: Preko o čitnega Novosti v .NET Framework 3.5

Pogled naprej .NET Framework 4.0

Upamo na pariteto CLR/BCL/VS Spodobi se Ne boli če je ni

Podpora za PLINQ Dinamični jeziki Nadgradnje WCF/WF, integracija v BizTalk Nadgradnje .NET CF / MicroFx

Page 26: Preko o čitnega Novosti v .NET Framework 3.5

Povzetek .NET Fx 3.5 = .NET Fx 2.0 SP1 +

.NET Fx 3.0 SP1 + red bits

CLR GC, kontrola latence in večja granulacija Razširitvene metode, anonimni tipi, samodejne

lastnosti, ... Napredki v BCL Storitve in delovni tokovi, REST / POX, sindikacija .NET CF 3.5 VS 2008, odlično orodje

Page 27: Preko o čitnega Novosti v .NET Framework 3.5

Matevž Gačnik

Vodja področja razvoja aplikacij

Microsoft regionalni direktor

Microsoft MVP – Solution Architect

Gama System d.o.o.

http://www.gama-system.si

Weblog: http://www.request-response.com

[email protected]

?

Page 28: Preko o čitnega Novosti v .NET Framework 3.5