Ohjelmointi

.Net Framework 4.5: n uudet ominaisuudet ja parannukset

Microsoft .Net Framework on kypsynyt paljon viime vuosina. Uusia ominaisuuksia ja parannuksia on otettu käyttöön runsaasti sen optimoimiseksi ja nopeaksi, turvallisemmaksi, vakaammaksi ja tehokkaammaksi. Tässä artikkelissa haluaisin esittää lintuperspektiivin .Net Framework 4.5.x: n merkittävistä parannuksista.

Pelätyt muistin poikkeamat

Tämä on pelätty virhe, ja siitä voi hyvinkin tulla painajainen sinulle. Muisti loppui -poikkeukset voivat lopettaa sovelluksen hallinnan, vaikka sinulla olisi tarpeeksi fyysistä muistia. Vitsailetko? Ei todellakaan! Sallikaa minun selittää, miksi näin voi tapahtua ja miten asia on käsitelty .Net Framework 4.5: ssä.

Hallitun ympäristön luomat objektit tallennetaan kasaan. Jonkin ajan kuluessa kasa voi pirstoutua esineiden luomisen ja poistamisen vuoksi. Hajanaisuus viittaa hajallaan oleviin muistireikiin (vapaa muisti). Tällöin noudatat usein Muisti täynnä -poikkeuksia, jos sovelluksesi käyttää paljon muistia ja koska ajonaika ei kykene jakamaan tilaa tarvittaessa ja tarvittaessa, vaikka tilaa voisi olla.

Kuulostaa oudolta? No, muistiaukkojen summa voi riittää tähän pyyntöön, mutta kun nämä muistireikät ovat hajallaan, ajonaika ei voi käyttää niitä.

Suurien esineiden kasan tiivistäminen kysynnän mukaan

On-Demand-suurten esineiden kasan tiivistys on hiljattain otettu käyttöön kasan tiivistämiseksi ja kasan pirstoutumisen eliminoimiseksi. Tiivistäminen tarkoittaa kaikkien näiden hajanaisten muistireikien tiivistämistä yhdeksi lohkoksi. Tämä ominaisuus on saatavana (vain pyynnöstä) .Net Framework 4.5.1: stä muistin loppumiseen liittyvien poikkeusongelmien lieventämiseksi. Tämän ominaisuuden ottamiseksi käyttöön on määritettävä LargeObjectHeapCompactionMode-ominaisuus.

Tällä ominaisuudella voi olla yksi kahdesta arvosta: Default ja CompactOnce. Entinen jos asetettu, jättää huomiotta suuren objektin kasan tiivistymisen GC-syklin aikana. Jos käytät jälkimmäistä, suuri esine kasa tiivistyy seuraavan jakson aikana.

ADO.Net-yhteyden joustavuuden tuki

Sinun ei enää tarvitse kirjoittaa koodia yhteyden joustavuuden toteuttamiseksi joutokäynnin tai katkenneiden yhteyksien luomiseksi. .Net Framework 4.5.1 sisältää tämän ominaisuuden, joka on rakennettu luomaan katkenneita yhteyksiä tietokantaan.

Parempi käynnistysaika: Profiilin optimointi

Profiilin optimointi on ominaisuus, joka on otettu käyttöön .Net Framework 4.5: ssä ja joka minimoi sovelluksen käynnistysajan. Miten tämä toimii? Profiili on tiedosto, joka sisältää menetelmät, joita sovellus tarvitsisi käynnistettäessä. Kun sovellus käynnistyy, Just in Time Compiler (JIT) toimii taustalangassa ja useissa prosessoreissa luodakseen natiivikoodin IL-koodista.

Roskakorin parannukset: Server GC esiteltiin

.Netin hallittu ympäristö puhdistaa käyttämättömät tai viittaamattomat objektit - objektit, joita ei enää tarvita. .Net Frameworkin aiemmissa versioissa GC keskeytti sovellusketjut, kun se oli varattu muistin puhdistamiseen. Tämä oli merkittävä suorituskyvyn pullonkaula, koska hakemuksesi oli odotettava, kunnes GC on saanut työnsä päätökseen.

.Net Framework 4.5: n kanssa tämä ei ole enää ongelma; palvelin GC on äskettäin otettu käyttöön helpottamaan kahden sukupolven objektien puhdistamista taustalangan avulla ja siten minimoimaan GC-pääkierteen kuormitus, koska sovellusketjut keskeytetään paljon harvemmin. .Net Framework 4.5: n avulla taustajätteen keräystä tuetaan sekä palvelimessa että työasemassa. Myös samanaikaista roskien keräystä tuetaan nyt; oma lanka suorittaa roskien keräyksen tarvittaessa.

Huomattavia parannuksia .Net Framework 4.5.2: ssä

Microsoft julkaisi hiljattain .Net Framework 4.5.2: n. Microsoft ilmoitti julkaisusta .Net Framework -blogissa. Tässä on linkki: //blogs.msdn.com/b/dotnet/archive/2014/05/05/announcing-the-net-framework-4-5-2-release.aspx

Profilointiin ja virheenkorjaukseen tehtyjen parannusten lisäksi .Net Framework 4.5.2: ssa on huomattavia parannuksia ASP.Net-verkkoon. Voit nyt käyttää HostingEnvironment.QueueBackgroundWorkItem-menetelmiä pienten taustatehtävien ajoitukseen asynkronisesti. Voit tarkistaa ja muokata vastausotsikoita ja vastauskoodeja käyttämällä HttpResponse.AddOnSendingHeaders- ja HttpResponseBase.AddOnSendingHeaders-menetelmiä. Voit lukea lisätietoja tästä MSDN-artikkelista: //msdn.microsoft.com/en-us/library/ms171868%28v=vs.110%29.aspx

Mitä seuraavaksi on tulossa?

Microsoft julkaisi .Net Framework 4.6: n esikatseluversion viime marraskuussa. Voit ladata kopion .Net Framework 4.6: sta täältä: //www.microsoft.com/en-us/download/details.aspx?id=44928

Ohjelmistojätti ilmoitti myös peruuttavansa tuen .Net Framework -versioille 4.x - 4.5.1 tammikuun 2016 jälkeen. Lue lisää täältä: //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