Programmēšana

Jaunas funkcijas un uzlabojumi .Net Framework 4.5

Microsoft .Net Framework pēdējos gados ir daudz nobriedis. Ir daudz ieviesti jauni līdzekļi un uzlabojumi, lai to optimizētu un padarītu to ātru, drošu, stabilāku un efektīvāku. Šajā rakstā es vēlos iepazīstināt ar putna lidojuma būtiskiem uzlabojumiem .Net Framework 4.5.x.

Baidītie ārpus atmiņas izņēmumi

Šī ir drausmīga kļūda, un tā var kļūt par jūsu murgu. Izņemot atmiņu, izņēmumi var pārtraukt lietojumprogrammas vadības plūsmu pat tad, ja ir instalēta pietiekami daudz fiziskās atmiņas. Vai jūs jokojat? Nevar būt! Ļaujiet man paskaidrot, kāpēc tas var notikt un kā šī problēma ir risināta .Net Framework 4.5.

Pārvaldītās vides izveidotie objekti tiek glabāti kaudzē. Laika gaitā kaudze var sadrumstaloties objektu radīšanas un noņemšanas dēļ. Sadrumstalotība attiecas uz atmiņas caurumiem (brīvā atmiņa), kas ir izkaisīti. Šādā gadījumā jūs bieži ievērojat izņēmuma vietas izņēmumus, ja lietojumprogramma izmanto lielu atmiņas apjomu un tāpēc, ka izpildlaiks nespēj piešķirt vietu, kad un ja nepieciešams, pat ja iespējams, ka ir pieejama vieta.

Izklausās dīvaini? Nu, atmiņas caurumu summa var būt pietiekama šim pieprasījumam, taču, tā kā šīs atmiņas caurumi ir izkaisīti, izpildlaiks tos nevar izmantot.

Liela objekta kaudzes sablīvēšana pēc pieprasījuma

Lai saspiestu kaudzi un novērstu kaudzes sadrumstalotību, tikko tika ieviests lielo objektu pēc pieprasījuma blīvējums. Blīvēšana nozīmē visu šo izkaisīto atmiņas atveru sablīvēšanu vienā blokā. Šī funkcija ir pieejama (tikai pēc pieprasījuma) no .Net Framework 4.5.1, lai mazinātu izņēmuma problēmu no atmiņas. Lai iespējotu šo funkciju, jums jāiestata rekvizīts LargeObjectHeapCompactionMode.

Starp citu, šim īpašumam var būt viena no divām vērtībām: Default un CompactOnce. Pirmais, ja iestatīts, ignorētu liela objekta kaudzes sablīvēšanu GC cikla laikā. Ja izmantojat pēdējo, nākamā cikla laikā liela objekta kaudze tiks saspiesta.

Atbalsts ADO.Net savienojuma elastībai

Jums vairs nav jāraksta kods, lai ieviestu savienojuma noturību, lai izveidotu dīkstāves vai bojātus savienojumus. .Net Framework 4.5.1 nāk ar šo iebūvēto funkciju, lai no jauna izveidotu bojātus savienojumus ar datu bāzi.

Uzlabots palaišanas laiks: profila optimizācija

Profila optimizācija ir funkcija .Net Framework 4.5, kas samazina lietojumprogrammas startēšanas laiku. Kā tas darbojas? Profils ir fails, kas satur metodes, kas lietojumprogrammai būtu nepieciešamas tās startēšanas laikā. Kad programma tiek palaista, kompilators Just in Time (JIT) darbojas fona pavedienā un vairākos procesoros, lai ģenerētu vietējo kodu no IL koda.

Atkritumu savākšanas uzlabojumi: ieviests servera GC

Pārvaldītā .Net vide izmanto atkritumu savākšanu, lai attīrītu neizmantotos vai atsauces objektus - objektus, kuri vairs nav vajadzīgi. Iepriekšējās .Net Framework versijās GC apturēja lietojumprogrammu pavedienus, kad tas bija aizņemts atmiņas tīrīšanā. Tas bija liels trūkums, jo jūsu pieteikumam bija jāgaida, kamēr GC pabeidza darbu.

Izmantojot .Net Framework 4.5, tas vairs nav jautājums; serveris GC ir nesen ieviests, lai atvieglotu otrās paaudzes objektu tīrīšanu, izmantojot fona pavedienu, un līdz ar to samazinātu galvenā GC pavediena slodzi, jo lietojumprogrammu pavedieni tiek apturēti daudz retāk. Izmantojot .Net Framework 4.5, fona atkritumu savākšana tiek atbalstīta gan serverī, gan darbstaciju GC. Tagad tiek atbalstīta arī vienlaicīga atkritumu savākšana; īpašs pavediens veic atkritumu savākšanu, kad nepieciešams.

Ievērojami uzlabojumi .Net Framework 4.5.2

Microsoft nesen izlaida .Net Framework 4.5.2. Par izlaišanu Microsoft paziņoja .net Framework emuārā. Šeit ir saite: //blogs.msdn.com/b/dotnet/archive/2014/05/05/announcing-the-net-framework-4-5-2-release.aspx

Papildus profilēšanas un atkļūdošanas uzlabojumiem .Net Framework 4.5.2 ir ievērojami uzlabojumi ASP.Net. Tagad varat izmantot metodes HostingEnvironment.QueueBackgroundWorkItem, lai asinhroni ieplānotu mazus fona uzdevumus. Lai pārbaudītu un modificētu atbildes galvenes un atbildes kodus, varat izmantot metodes HttpResponse.AddOnSendingHeaders un HttpResponseBase.AddOnSendingHeaders. Turpmāk lasot, varat atsaukties uz šo MSDN rakstu: //msdn.microsoft.com/en-us/library/ms171868%28v=vs.110%29.aspx

Kas notiks tālāk?

Microsoft pagājušā gada novembrī izlaida .Net Framework 4.6 priekšskatījuma versiju. .Net Framework 4.6 kopiju varat lejupielādēt šeit: //www.microsoft.com/en-us/download/details.aspx?id=44928

Programmatūras gigants arī paziņoja, ka pēc 2016. gada janvāra atsauks atbalstu .Net Framework versijām 4.x līdz 4.5.1. Vairāk par to lasiet šeit: //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