preko o čitnega novosti v .net framework 3.5
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 PresentationTRANSCRIPT
![Page 1: Preko o čitnega Novosti v .NET Framework 3.5](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/3.jpg)
.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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/4.jpg)
Ozadje Seattle
Redmond
Microsoft
Visual
Studio .NET / 1.0
Rainier
![Page 5: Preko o čitnega Novosti v .NET Framework 3.5](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/6.jpg)
.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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/18.jpg)
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 19: Preko o čitnega Novosti v .NET Framework 3.5](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/19.jpg)
System.TimeZoneInfo System.DateTimeOffset System.Collections.Generic.HashSet System.IO.Pipes (Named Pipes) Novi Suite-B kriptirni algoritmi EventSchemaTraceListener Podpora za Vista event log (ETW) System.Threading.ReaderWriterLockSlim
Novosti v BCLBase Class Library
![Page 20: Preko o čitnega Novosti v .NET Framework 3.5](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/27.jpg)
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
?
![Page 28: Preko o čitnega Novosti v .NET Framework 3.5](https://reader035.vdocuments.us/reader035/viewer/2022081505/56816315550346895dd38d88/html5/thumbnails/28.jpg)