.NET Framework po raz szósty

Zmiany w dziedzinie bezpieczeństwa

Oprócz zmian w programowaniu równoległym, zmodyfikowano model bezpieczeństwa. W najnowszej wersji .NET odchodzi się od bardzo dobrze znanego wszystkim programistom .NET CAS (Code Access Security). Nakładanie ograniczeń na kod wykonywany w systemie zostaje oddelegowane do Windows Software Restriction Policies (SRP) oraz AppLockera - usług Windows 7 i Windows Server 2008 R2. Te rozwiązania zapewniają znacznie prostsze mechanizmy zarządzania bezpieczeństwem i pozwalają kontrolować wykonywanie nie tylko zarządzanego, ale również niezarządzanego kodu.

Lepsze zwalnianie pamięci

Zmianom uległ także Garbage Collector. W poprzednich wersjach zwalnianie pamięci w generacji 2 odbywało się w osobnym wątku, który po rozpoczęciu pracy działał aż do jej skończenia, a wątki aplikacji bywały zawieszane, gdy doszły do granicy aktualnie alokowanej generacji. Teraz wątek odpowiedzialny za zwalnianie pamięci z generacji 2 sprawdza, czy aktualnie nie są zwalniane obiekty z wcześniejszych generacji i jeżeli ma to miejsce, czeka aż ten proces dobiegnie końca. Ten mechanizm pozwala uniknąć zawieszania wątków przy dojściu do granicy danej generacji.

Zobacz również:

  • Wyjaśniamy czym jest SD-WAN i jakie są zalety tego rozwiązania

Inne zmiany

Kolejna nowość to Managed Extensibility Framework, który ma zapewnić łatwe wprowadzanie zmian i rozszerzanie już działających rozwiązań. Ma on ujednolicić i uprościć mechanizm pisania "pluginów" dla aplikacji, dostarczając mechanizmy pozwalające odkrywać rozszerzenia, oraz tworzyć i odpytywać opisujące je metadane. Oprócz tego, w wielu miejscach poprawiono bibliotekę standardową, często zgodnie z sugestiami użytkowników, a także rozbudowano ją w obszarze programowania sieciowego. Natomiast do mniejszych zmian można zliczyć In-Process Side-by-Side Execution, dzięki któremu można w ramach tego samego procesu uruchamiać kod skompilowany przez inne wersje .NET Framework, a także funkcjonalność monitorowania zużycia procesora oraz pamięci w ramach wybranego AppDomain.

Kierunek rozwoju

O ile ostatnio Microsoft stawiał głównie na dostarczanie nowych zrębów do swojej platformy, to wersja 4.0 przynosi pewne zmiany w wewnętrznych mechanizmach. Oprócz tego wydaje się, że gigant z Redmond ma świadomość, że cześć z jego klientów korzysta z aplikacji napisanych na starszych wersjach .NET Framework, które nie będą migrowane i dostarcza mechanizmów pozwalających na współpracę między rozwiązaniami napisanymi na różne wersje .NET, aby zachęcić do zakupu swoich nowych narzędzi. Jest to bez wątpienia krok w dobrym kierunku. Inny aspekt to przekazanie odpowiedzialności za bezpieczeństwo aplikacji usługom systemu operacyjnego. Na pewno ułatwi to pracę programistom oraz zapewne w założeniu ma za zadanie przyciągnąć część klientów do nowych systemów operacyjnych. Tak naprawdę można zaryzykować tezę, że do pewnego stopnia .NET jest tylko narzędziem, które ma doprowadzić do wyboru Windows jako platformy systemowej, gdyż to właśnie na tym polu ma miejsce prawdziwa konkurencja.


TOP 200