Programmering

Nye funksjoner og forbedringer i .Net Framework 4.5

Microsoft .Net Framework har modnet mye de siste årene. Nye funksjoner og forbedringer har blitt introdusert rikelig for å optimalisere den og gjøre den rask, sikker, mer stabil og høy ytelse. I denne artikkelen vil jeg presentere et fugleperspektiv av de betydelige forbedringene i .Net Framework 4.5.x.

De fryktede unntakene uten minne

Dette er en fryktet feil og kan godt bli et mareritt for deg. Unntak uten minne kan avslutte strømmen av kontroll over applikasjonen din, selv når du har nok fysisk minne installert. Tuller du? Aldri! La meg forklare hvorfor dette kan skje, og hvordan dette problemet har blitt løst i .Net Framework 4.5.

Objekter opprettet av det administrerte miljøet lagres i bunke. I løpet av en periode kan haugen bli fragmentert på grunn av opprettelse og fjerning av gjenstander. Fragmentering refererer til minnehull (ledig minne) som er spredt. I et slikt tilfelle vil du ofte se unntak uten minne hvis applikasjonen bruker mye minne og fordi kjøretiden ikke vil være i stand til å tildele plass når og om nødvendig, selv om det kan være ledig plass.

Høres rart ut? Vel, summen av minnehullene kan være tilstrekkelig for denne forespørselen, men da disse minnehullene er spredt, kan ikke kjøretiden bruke dem.

Komprimering av store objekter på etterspørsel

On-Demand komprimering av store objekter er nylig introdusert for å komprimere haugen og eliminere haugfragmentering. Komprimering innebærer komprimering av alle disse spredte minneshullene i en blokk. Denne funksjonen er tilgjengelig (bare på forespørsel) fra .Net Framework 4.5.1 for å redusere problemene med unntak av minne. For å aktivere denne funksjonen, må du angi egenskapen LargeObjectHeapCompactionMode.

Forresten kan denne egenskapen ha en av to verdier: Standard og CompactOnce. Førstnevnte if set ville ignorere komprimering av stor objektbunke under en GC-syklus. Hvis du bruker sistnevnte, komprimeres den store gjenstandsbunken i neste syklus.

Støtte for ADO.Net Connection Resiliency

Du trenger ikke lenger å skrive kode for å implementere tilkoblingsmulighet for å etablere inaktiv eller ødelagte forbindelser. .Net Framework 4.5.1 kommer med denne funksjonen innebygd for å gjenopprette ødelagte forbindelser til databasen.

Forbedret oppstartstid: Profiloptimalisering

Profiloptimalisering er en funksjon som er introdusert i .Net Framework 4.5 som minimerer oppstartstiden for applikasjonen. Hvordan virker dette? En profil er en fil som inneholder metodene applikasjonen trenger når den starter. Når applikasjonen starter, kjører Just in Time Compiler (JIT) i en bakgrunnstråd og på tvers av flere prosessorer for å generere innfødt kode fra IL-koden.

Forbedringer av søppelinnsamling: Server GC introdusert

Det administrerte miljøet til .Net bruker søppeloppsamling for å rydde opp ubrukt eller ikke-refererte gjenstander - objekter som ikke lenger er nødvendige. I de tidligere versjonene av .Net Framework, stoppet GC applikasjonstrådene når det var opptatt med å rydde opp i minnet. Dette var en stor ytelsesflaskehals da søknaden din måtte vente til GC var ferdig med arbeidet.

Med .Net Framework 4.5 er dette ikke lenger et problem; server GC er nylig introdusert for å lette rengjøring av generasjon to objekter ved hjelp av en bakgrunnstråd og dermed minimere belastningen på GC-hovedtråden ettersom applikasjonstrådene er mye sjeldnere suspendert. Med .Net Framework 4.5 støttes innsamling av bakgrunn i både server og arbeidsstasjon GC. Samtidig søppelinnsamling støttes også nå; en dedikert tråd utfører søppeloppsamlingen når det er nødvendig.

Merkbare forbedringer i .Net Framework 4.5.2

Microsoft ga nylig ut .Net Framework 4.5.2. Utgivelsen ble kunngjort av Microsoft i .Net Framework-bloggen. Her er lenken: //blogs.msdn.com/b/dotnet/archive/2014/05/05/announcing-the-net-framework-4-5-2-release.aspx

Foruten forbedringer i profilering og feilsøking, er det bemerkelsesverdige forbedringer i ASP.Net i .Net Framework 4.5.2. Du kan nå bruke HostingEnvironment.QueueBackgroundWorkItem-metodene for å planlegge små bakgrunnsoppgaver asynkront. For å inspisere og endre svaroverskrifter og svarkoder kan du bruke metodene HttpResponse.AddOnSendingHeaders og HttpResponseBase.AddOnSendingHeaders. Du kan referere til denne MSDN-artikkelen for ytterligere lesing: //msdn.microsoft.com/en-us/library/ms171868%28v=vs.110%29.aspx

Hva kommer neste gang?

Microsoft ga ut en forhåndsversjon av .Net Framework 4.6 i november i fjor. Du kan laste ned en kopi av .Net Framework 4.6 herfra: //www.microsoft.com/en-us/download/details.aspx?id=44928

Programvaregiganten kunngjorde også at den vil tilbakekalle støtten til .Net Framework versjoner 4.x gjennom 4.5.1 etter januar 2016. Les mer om dette her: //blogs.msdn.com/b/dotnet/archive/2014/08 /07/moving-to-the-net-framework-4-5-2.aspx

$config[zx-auto] not found$config[zx-overlay] not found