Menu
Jest wolny
rejestracja
Dom  /  Internet/ Przegląd platformy .NET. Podstawowe koncepcje

Przegląd platformy .NET. Podstawowe koncepcje

O ile. INTERNET Framework to potężna platforma do tworzenia aplikacji, pozwala na tworzenie aplikacji zupełnie różnych typów.

Aplikacje desktopowe (aplikacje działające na lokalny komputer użytkownik);

· Aplikacje internetowe (aplikacje działające w ramach serwera WWW i dostępne dla użytkownika przez przeglądarkę w protokole HTTP/HTTPS);

· Aplikacje webowe z bogatym interfejsem użytkownika (aplikacje, które są dostarczane użytkownikowi za pośrednictwem protokołu HTTP/HTTPS w obrębie przeglądarki i wykonywane są po stronie klienta);

· Usługi sieciowe (kod programu, który jest wykonywany po stronie serwera i może być wywołany przez klienta w celu odebrania jakichkolwiek danych lub wykonania operacji);

· Aplikacje mobilne (aplikacje działające na urządzeniach mobilnych).

Dla każdego z następujących typów aplikacji . INTERNET Framework istnieją pokrewne technologie, które pozwalają na tworzenie aplikacji. Oprócz, . INTERNET Framework zawiera wspólne biblioteki, których można używać w różnych typach aplikacji. Te biblioteki obejmują biblioteki:

· Do pracy ze strunami;

· Praca z funkcjami matematycznymi;

· Do pracy z grafiką;

· Dostęp do danych;

· Praca z plikami i innymi operacjami wejścia-wyjścia;

· Wykonywanie operacji kryptograficznych;

· Aby zorganizować synchronizację danych między źródłami danych;

· I ogromna ilość innych bibliotek.

Przyjrzyjmy się każdemu typowi aplikacji. Jak wspomniano powyżej, dla każdego typu aplikacji na platformie. INTERNET Framework, istnieją specjalne szablony projektów.

Aplikacje komputerowe różnią się tym, że działają bezpośrednio na komputerze użytkownika. Jest to najczęstszy rodzaj aplikacji. Aplikacje komputerowe zwykle mają dostęp do zasobów komputera użytkownika, takich jak: dysk twardy, sprzęt nagłaśniający itp. Do zalet tego typu aplikacji należą: interaktywność interfejs użytkownika i możliwość uruchomienia aplikacji niezależnie od połączenia sieciowego Internet i inne zasoby. Jednak, aby takie aplikacje działały, muszą być zainstalowane lokalnie komputer.

Aplikacje desktopowe można podzielić na trzy rodzaje – aplikacje okienkowe, aplikacje konsolowe i usługi Okna... Aplikacje okienkowe mają interfejs graficzny... Aplikacje konsolowe zwykle przybierają formę wiersza poleceń i berło takie aplikacje mają charakter tekstowy, a nie graficzny. Wreszcie usługi Okna nie mają w ogóle interfejsu użytkownika, ale działają w tle.

Budować okienkowe aplikacje GUI na platformie. INTERNET Można zastosować technologie ramowe Okna Formularze (dostępne od. INTERNET Framework 1.0) i Windows Presentation Foundation(dostępne od. INTERNET Framework 3.0). Najnowsza technologia jest nowsza i bardziej obiecująca.


Aplikacje internetowe różnią się od komputerów stacjonarnych tym, że działają zdalnie na serwerze WWW. Użytkownik wykorzystuje moc aplikacji internetowych za pośrednictwem przeglądarki i protokołu HTTP/ HTTPS. Zaletą tego typu aplikacji jest brak konieczności ich instalowania komputer każdy użytkownik - podanie musi być zainstalowany w sieci serwer, po czym staje się dostępny dla wszystkich użytkowników. Jednak wadą takich aplikacji jest ograniczona możliwość budowania interfejsów użytkownika. Wynika to z faktu, że interfejs użytkownika zbudowany jest w oparciu o formaty HTML, CSS i JavaScript, które są dość ograniczone. Dlatego funkcjonalność interfejsów użytkownika jest zwykle dość ograniczona.

Ponieważ aplikacje internetowe mają poważną wadę – ograniczone możliwości na tworzenie interfejsu użytkownika - pojawił się nowy typ aplikacji, który nazywa się bogate aplikacje internetowe lub Bogate aplikacje internetowe (RIA)... Ideologia tych aplikacji polega na tym, że w przeglądarka integruje specjalny dodatek(wtyczka), która może wyświetlać dodatkowe Rodzaj treści... Potem, kiedy użytkownik otwiera stronę w przeglądarce, kod programu jest przesyłany po stronie klienta, który działa w ramach tego dodatku. Ponieważ w tym przypadku cały kod jest przetwarzany po stronie klienta, deweloperzy mają większe możliwości. na tworzenie interfejsów użytkownika.

Istnieje kilka technologii służących do tworzenia tego typu aplikacji. Jedną z najbardziej znanych technologii jest technologia Adobe Lampa błyskowa... Do tego dochodzi jeszcze technologia Microsoft Silverlight, co pozwala na najwygodniejszą integrację z pozostałymi technologiami w ramach frameworka. INTERNET Struktura.

Innym rodzajem aplikacji są Usługi(lub usługi sieciowe). Usługi to rodzaj kodu programu, który znajduje się na serwerze i jest uruchamiany nażądanie od użytkownika. Na przykład możesz stworzyć zestaw usług na praca z danymi z Baza danych przechowywane na serwerze. Zazwyczaj inne typy aplikacji (aplikacje desktopowe, aplikacje webowe itp.) uzyskują dostęp do usług w celu wykonania operacji na serwerze lub odebrania danych z serwera.

W obrębie platformy. INTERNET Framework, istnieje szereg technologii, które pozwalają na tworzenie usług. Bardzo stara technologia jest ŻMIJA.Sieć NET Usługi. Pozwala tworzyć proste serwisy internetowe, które działają na protokół HTTP/ HTTPS. Dalszy rozwój technologia stała się Windows Communication Foundation(WCF). Platforma ta jest najpotężniejszym i najbardziej elastycznym narzędziem obsługującym różne rodzaje kanałów ( HTTP, TCP, nazwane potoki itp.) i znacznie rozszerza możliwości programisty na tworzenie usług.

Są też dodatkowe gałęzie projektu WCF – to jest WCF Syndykacja Rozszerzenia (WCF REST) ​​i KOROWODY.Dane NETTO Usługi. Projekty te mają na celu ułatwienie tworzenia usług dostępu do danych.

Wreszcie ostatni rodzaj aplikacji to: aplikacje mobilne... Aplikacje mobilne działają w ramach urządzeń mobilnych opartych na systemie operacyjnym Windows Mobile... W przypadku urządzeń mobilnych istnieje również implementacja podzbioru możliwości. INTERNET Framework o nazwie. NET Compact Struktura.

Tak więc cała gama technologii w ramach platformy. INTERNET Framework można przedstawić za pomocą poniższego diagramu.

Wstęp

PLATFORMA to przynajmniej środowisko wykonywania programu i… coś innego, co określa specyfikę tworzenia i wykonywania kod programu- paradygmaty programowania, języki programowania, zbiory klas bazowych.

Microsoft .NET (.NET Framework) to platforma programowa. Zawiera następujące główne składniki: środowisko uruchomieniowe języka wspólnego (CLR) i bibliotekę klas .NET Framework (.NET FCL).

CLS (Common Language Specification) to ogólna specyfikacja języków programowania. Jest to zestaw konstrukcji i ograniczeń, które kierują autorami bibliotek i kompilatorów w .NET Framework. Biblioteki zbudowane zgodnie z CLS mogą być używane z dowolnego języka programowania obsługującego CLS. Języki zgodne z CLS (m.in. Visual C#, Visual Basic, Visual C++) można integrować ze sobą. CLS jest podstawą komunikacji międzyjęzykowej w ramach platformy Microsoft .NET.

CLR (Common Language Runtime) — środowisko uruchomieniowe lub maszyna wirtualna. Zapewnia wykonanie kompilacji. Podstawowy składnik .NET Framework. Pod Maszyna wirtualna zrozumieć abstrakcję hermetyzowanego (odłączonego) zarządzanego systemu operacyjnego wysokiego poziomu, który zapewnia wykonanie kodu programu i obejmuje rozwiązywanie następujących zadań:

§ zarządzanie kodem (ładowanie i wykonanie),

§ zarządzanie pamięcią podczas umieszczania obiektów,

§ izolacja pamięć aplikacji,

§ sprawdzenie bezpieczeństwa kodu,

§ konwersja języka pośredniego na kod maszynowy,

§ dostęp do metadanych (rozszerzone informacje o typach),

§ obsługa wyjątków, w tym wyjątków międzyjęzykowych,

§ interakcja między kodem zarządzanym i niezarządzanym (w tym obiekty COM),

§ wsparcie dla usług programistycznych (profilowanie, debugowanie itp.).

Krótko mówiąc, CLR to zbiór usług wymaganych do wykonania kompilacji. W tym przypadku kod programu zespołu może być zarządzany (kod, gdy jest wykonywany, w szczególności CLR aktywuje system zarządzania pamięcią) lub niezarządzany ("stary" kod programu).

Sam CLR składa się z dwóch głównych komponentów: jądra (mscoree.dll) i biblioteki klas bazowych (mscorlib.dll). Obecność tych plików na dysku jest pewnym znakiem, że przynajmniej próbowałeś zainstalować platformę .NET na swoim komputerze.

Jądro uruchomieniowe jest zaimplementowane jako biblioteka mscoree.dll. Podczas łączenia zestawu osadzane są w nim specjalne informacje, które w momencie uruchomienia aplikacji (EXE) lub załadowania biblioteki (wywołanie biblioteki DLL z modułu niezarządzanego - wywołanie funkcji LoadLibrary w celu załadowania zestawu zarządzanego) prowadzi do ładowanie i inicjowanie środowiska CLR. Po załadowaniu środowiska CLR do przestrzeni adresowej procesu jądro środowiska wykonawczego wykonuje następujące czynności:

Znajduje lokalizację zespołu,

§ wczytuje montaż do pamięci,

§ analizuje zawartość zestawu (identyfikuje klasy, struktury, interfejsy),

§ analizuje metadane,

Zapewnia kompilację kodu w języku Intermediate Language (IL) do instrukcji specyficznych dla platformy (kod asemblera),

§ wykonuje kontrole związane z bezpieczeństwem,

§ za pomocą głównego wątku aplikacji przekazuje kontrolę na fragment kodu asemblera przekonwertowany na polecenia procesora.

FCL (.NET Framework Class Library) to zgodna z CLS zorientowana obiektowo biblioteka klas, interfejsów i systemów typów (typów wartości), które są dołączone do platformy Microsoft .NET.

Biblioteka ta zapewnia dostęp do funkcjonalności systemu i jest przeznaczona jako podstawa do tworzenia aplikacji .NET, komponentów, kontrolek.

Biblioteka klas NET jest drugim składnikiem CLR.

NET FCL może być używany przez WSZYSTKIE aplikacje .NET, niezależnie od celu, architektury wykorzystywanej w rozwoju języka programowania. W szczególności zawiera:

§ typy wbudowane (elementarne), reprezentowane jako klasy (na platformie .NET wszystko jest zbudowane na strukturach lub klasach),

§ klasy do opracowania graficznego interfejsu użytkownika (Windows Form),

§ zajęcia do tworzenia aplikacji webowych i serwisów webowych w oparciu o technologię ASP.NET (Web Forms),

§ klasy do tworzenia XML i protokołów internetowych (FTP, HTTP, SMTP, SOAP),

§ klasy do tworzenia aplikacji pracujących z bazami danych (ADO.NET),

§ i wiele więcej.

Aplikacja NET to aplikacja przeznaczona do pracy na platformie Microsoft .NET. Jest zaimplementowany w językach programowania odpowiadających CLS.

MSIL (Microsoft Intermediate Language, czyli IL - Intermedia Language) to język pośredni platformy Microsoft.NET. Kody źródłowe programów dla aplikacji .NET są napisane w językach programowania zgodnych ze specyfikacją CLS. Dla języków programowania zgodnych ze specyfikacją CLS można zbudować konwerter do MSIL. Dzięki temu programy w tych językach mogą być tłumaczone na kod pośredni w MSIL. Dzięki zgodności z CLS, tłumaczenie kodu napisanego w różnych językach skutkuje zgodnym kodem IL.

W rzeczywistości MSIL jest wirtualnym asemblerem procesorów.

METADATA - podczas konwersji kodu programu do MSIL tworzony jest również blok METADATA, zawierający informacje o danych użytych w programie. W rzeczywistości są to zestawy tabel zawierające informacje o typach danych zdefiniowanych w module, o typach danych, do których ten moduł się odnosi. Wcześniej informacje te były przechowywane osobno. Na przykład aplikacja może zawierać informacje o interfejsie opisane w języku definicji interfejsu (IDL). Metadane są teraz częścią zarządzanego modułu.

W szczególności metadane są wykorzystywane do:

§ zapisywanie informacji o typach. Pliki nagłówkowe i biblioteki nie są już wymagane podczas kompilacji. Kompilator odczytuje wszystkie niezbędne informacje bezpośrednio z zarządzanych modułów,

§ weryfikacja kodu podczas wykonywania modułu,

§ dynamiczne zarządzanie pamięcią (zwalnianie pamięci) podczas wykonywania modułu,

§ przy tworzeniu programu przy użyciu standardowych narzędzi (Microsoft Visual Studio.NET)

§ Zapewnia dynamiczny monit (IntelliSense) na podstawie metadanych.

Języki, dla których zaimplementowane jest tłumaczenie na MSIL:

i wiele innych języków.

Moduł wykonywalny — niezależnie od kompilatora (i języka wejściowego) tłumaczeniem aplikacji .NET jest zarządzany moduł wykonywalny (moduł zarządzany). Jest to standardowy plik Windows Portable Executable (PE).

W tabeli przedstawiono elementy zarządzanego modułu.

Moduł zarządzany zawiera kod zarządzany.

Kod zarządzany to kod, który działa w środowisku CLR. Kod budowany jest na podstawie struktur i klas zadeklarowanych w module źródłowym, zawierających deklaracje metod. Kod zarządzany musi mieć określony poziom informacji (metadanych) dla środowiska uruchomieniowego. Kod C#, Visual Basic i JScript jest domyślnie zarządzany. Kod Visual C++ nie jest domyślnie zarządzany, ale kompilator może wygenerować kod zarządzany, określając argument w wierszu polecenia (/clr). Jedną z cech kodu zarządzanego jest dostępność mechanizmów pozwalających na pracę z DANYMI ZARZĄDZANYMI.

Dane zarządzane to obiekty, które podczas wykonywania kodu modułu są przydzielane w pamięci zarządzanej (na zarządzanej stercie) i są niszczone przez moduł odśmiecania pamięci CLR. Dane C#, Visual Basic i JScript .NET są domyślnie zarządzane. Dane C# można również oznaczyć jako niezarządzane.

Assembly to podstawowy blok konstrukcyjny aplikacji w .NET Framework. Zarządzane moduły są łączone w zespoły. Zestaw to logiczne zgrupowanie jednego lub większej liczby zarządzanych modułów lub plików zasobów. Zarządzane moduły w zestawach działają w środowisku wykonawczym (CLR). Zespół może być aplikacją wykonywalną (w tym przypadku znajduje się w pliku z rozszerzeniem .EXE) lub modułem biblioteki (w pliku z rozszerzeniem .DLL). Jednocześnie montaż nie ma nic wspólnego ze zwykłymi (w starym stylu!) aplikacjami wykonywalnymi i modułami bibliotecznymi.

Deklaracja montażu (Manifest) - składnik montaż. Kolejny zestaw tabel metadanych, które:

§ identyfikuje zespół w postaci nazwy tekstowej, jego wersji, kultury oraz podpisu cyfrowego (jeśli zespół jest współdzielony między aplikacjami),

§ określa pliki zawarte w kompozycji (według nazwy i skrótu),

§ wskazuje rodzaje i zasoby występujące w zespole, w tym opis wyeksportowanych z zespołu,

§ wymienia zależności od innych zespołów,

§ wskazuje zestaw uprawnień wymaganych do prawidłowego działania zestawu.

Informacje te są wykorzystywane w czasie wykonywania do obsługi prawidłowego działania aplikacji.

Procesor NIE MOŻE wykonać kodu IL. A tłumaczenie kodu IL jest wykonywane przez kompilator JIT (just in time - we właściwym czasie), który jest aktywowany przez CLR w razie potrzeby i wykonywany przez procesor. W takim przypadku wyniki kompilatora JIT są przechowywane w pamięci RAM. Ustanawiana jest korespondencja między fragmentem przetłumaczonego kodu IL a odpowiednim blokiem pamięci, co dodatkowo umożliwia CLR przekazywanie kontroli do instrukcji procesora zapisanych w tym bloku pamięci, z pominięciem powtarzających się wywołań kompilatora JIT.

CLR umożliwia współpracę i interakcję komponentów oprogramowania zaimplementowanych w różnych językach programowania.

Bazując na wcześniej wygenerowanym bloku metadanych, CLR zapewnia EFEKTYWNĄ interoperacyjność wykonywalnych aplikacji .NET.

W przypadku CLR wszystkie zestawy są takie same, bez względu na języki programowania, w których zostały napisane. Najważniejsze, że są zgodne z CLS. W rzeczywistości CLR przełamuje granice języków programowania (interoperacyjność między językami). Dzięki CLS i CTS aplikacje .NET faktycznie okazują się być aplikacjami MSIL (IL).

CLR rozwiązuje wiele problemów, na których tradycyjnie skupiali się twórcy aplikacji. Funkcje realizowane przez CLR obejmują:

§ sprawdzanie i dynamiczna (JIT) kompilacja kodu MSIL do instrukcji procesora,

§ zarządzanie pamięcią, procesy i wątki,

§ organizacja interakcji procesów,

§ rozwiązywanie problemów bezpieczeństwa (w ramach istniejącej w systemie polityki bezpieczeństwa).

AppDomain to logiczny kontener zestawu, który służy do izolowania aplikacji w przestrzeni adresowej procesu. Wszystkie obiekty tworzone przez aplikację są tworzone w ramach określonej domeny aplikacji. W tym samym procesie systemu operacyjnego może istnieć wiele domen aplikacji. Środowisko CLR izoluje aplikacje, zarządzając pamięcią w domenie aplikacji.

Kod uruchomiony w CLR (proces CLR) jest oddzielony od innych procesów uruchomionych na komputerze w tym samym czasie.

Normalny proces jest uruchamiany przez system w przestrzeni adresowej przydzielonej temu procesowi. Środowisko CLR zapewnia możliwość uruchamiania wielu zarządzanych aplikacji w JEDNYM PROCESIE. Każda zarządzana aplikacja wiąże się z własną domeną aplikacji (w skrócie AppDomain). Oprócz domeny głównej w aplikacji można utworzyć kilka domen dodatkowych.

Na rysunku pokazano strukturę środowiska wykonawczego CLR.

Właściwości domeny:

§ domeny są od siebie odizolowane. Obiekty utworzone w ramach jednej domeny nie są dostępne z innej domeny,

CLR jest w stanie zrzucić domeny wraz ze wszystkimi zestawami powiązanymi z tymi domenami,

§ możliwa dodatkowa konfiguracja i ochrona domen,

§ zaimplementowano specjalny mechanizm wymiany danych między domenami bezpieczny dostęp(zorganizowanie).

§ B.NET Framework opracował własny model komponentów, których elementami są zespoły .NET (.NET-assembly), a dla bezpośredniej i wstecznej kompatybilności z modelem COM/COM+, CLR posiada wbudowane mechanizmy ( COM Interop), które zapewniają dostęp do obiektów COM według reguł .NET i do zestawów .NET według reguł COM. Jednocześnie dla aplikacji .NET rejestracja komponentów w rejestr systemowy Okna.

Aby uruchomić aplikację .NET wystarczy umieścić w jednym katalogu zestawy związane z tą aplikacją. Jeżeli w tym samym czasie zestaw może być używany w kilku aplikacjach, to jest umieszczany i rejestrowany za pomocą specjalne narzędzie w GAC (Global Assembly Cache).

CTS – system typu wspólnego System standardowy Rodzaje. Obsługiwane przez wszystkie języki platformy. Ze względu na to, że .NET jest dzieckiem OOP, mówimy tutaj o elementarnych typach, klasach, strukturach, interfejsach, delegatach i wyliczeniach.

System typów wspólnych jest ważną częścią środowiska wykonawczego, definiuje strukturę składni, sposób deklarowania, używania i stosowania typów COMMON środowiska wykonawczego. CTS zawiera podstawowe informacje o systemie typów GENERAL PRE-DEFINED, o ich użyciu i zarządzaniu (zasady przeliczania wartości). CTS odgrywa ważną rolę w integracji wielojęzycznych aplikacji zarządzanych.

Przestrzeń nazw to sposób na zorganizowanie systemu typów w pojedynczą grupę. Istnieje wspólna biblioteka klas bazowych dla wspólnego języka. A koncepcja przestrzeni nazw zapewnia wydajną organizację i nawigację w tej bibliotece. Niezależnie od języka programowania, dostęp do niektórych klas jest zapewniony poprzez zgrupowanie ich we wspólnych przestrzeniach nazw.

Przestrzeń nazw Spotkanie
System
System.Dane Aby uzyskać dostęp do baz danych
System.Data.Common
System.Data.OleDb
System.Data.SqlClient
Kolekcje systemowe Klasy do pracy z obiektami kontenerowymi
Diagnostyka systemu Klasy do śledzenia i debugowania kodu
System.Rysunek Klasy obsługi grafiki
Rysunek systemowy. Rysunek 2D
System.Rysunek.Drukowanie
System.IO Wsparcie we/wy
System.Net Obsługa transmisji danych przez sieci
System.Odbicie Praca z niestandardowymi typami w czasie wykonywania
System.Odbicie.Emituj
System.Runtime.InteropServices Wsparcie dla interoperacyjności z "zwykłym kodem" - DLL, serwery COM, zdalny dostęp
System.Runtime.Remoting
System.Bezpieczeństwo Kryptografia, uprawnienia
System.Gwintowanie Praca ze strumieniami
System.WEB Praca z aplikacjami internetowymi
System.Windows.Formularz Praca z elementami Interfejs Windows
System.XML Obsługa danych XML

Wykonywanie niezarządzanych plików wykonywalnych (wspólne Aplikacje Windows) jest dostarczany bezpośrednio przez system Windows. Moduły niezarządzane działają w środowisku Windows jako „proste” procesy. Jedynym wymogiem, jaki muszą spełniać takie moduły, jest poprawna praca w środowisku Windows. Muszą działać „poprawnie” (nie zawieszać systemu, zapobiegać wyciekom pamięci, nie blokować innych procesów i poprawnie używać środków samego systemu operacyjnego do pracy w imieniu procesów). Oznacza to, że przestrzegaj najbardziej ogólnych zasad pracy w systemie Windows.

Jednocześnie większość problemów z poprawnym wykonaniem niezarządzanego modułu (problemy z interakcją, alokacją pamięci i zwalnianiem) to problemy twórców aplikacji. Na przykład dobrze znana technologia COM jest sposobem organizowania interakcji różnych komponentów w aplikacji.

Obiekt – w szerokim znaczeniu jest to obszar pamięci (stos lub sterta), przydzielany podczas wykonywania programu do zapisu dowolnych wartości. Charakteryzuje się typem (stały zestaw właściwości określających wielkość zajmowanego obszaru, sposób interpretacji wartości, zakres wartości, zestaw akcji dozwolonych podczas manipulowania obiektem) lokalizację w pamięci (adres ).

Wyrzucanie elementów bezużytecznych to mechanizm, który pozwala środowisku CLR określić, kiedy obiekt staje się niedostępny w pamięci zarządzanej przez program. Zbieranie śmieci zwalnia zarządzaną pamięć. Dla programisty aplikacji posiadanie mechanizmu garbage collection oznacza, że ​​nie musi się już martwić zwalnianiem pamięci. Może to jednak wymagać zmiany stylu programowania, np. zwrócenia szczególnej uwagi na procedurę zwalniania zasobów systemowych. Niezbędne jest wdrożenie metod, które dealokują zasoby systemowe zarządzane przez aplikację.

Stos to specjalnie zorganizowany obszar pamięci przeznaczony do tymczasowego przechowywania wartości obiektów (zmiennych i stałych), do przekazywania parametrów podczas wywoływania metod, do przechowywania adresu zwrotnego. Zarządzanie stosem jest dość proste w porównaniu do stosu. Polega na zmianie wartości odpowiedniego rejestru na szczycie stosu. Gdy rozmiar stosu jest zmniejszony, obiekty są po prostu tracone.

C # program

Program jest dobrze uformowaną (niekwestionowaną przez kompilator C#) sekwencją instrukcji, na podstawie której tworzony jest asembler.

Generalnie programista tworzy plik zawierający deklaracje klas, który jest podawany do kompilatora jako dane wejściowe. Wynik kompilacji jest reprezentowany przez tłumacza jako asembler i jest określany przez preferencje programisty. Zasadniczo montaż może być dwojakiego rodzaju:

Przenośny plik wykonywalny (plik PE z rozszerzeniem .exe), odpowiedni do bezpośredniego uruchamiania CLR,

§ Plik biblioteki dołączanej dynamicznie (plik DLL z rozszerzeniem dll) jest przeznaczony do ponownego wykorzystania jako składnik dowolnej aplikacji.

W każdym razie na podstawie kodu wejściowego translator buduje moduł IL, manifest i tworzy asembler. W przyszłości montaż może być wykonywany po kompilacji JIT lub może być używany jako część innych programów.

Adnotacja: Inicjatywa Microsoft .NET. Problemy ze zgodnością komponentów, niezawodnością i możliwością ponownego użycia. .NET Framework. CLR środowiska uruchomieniowego języka wspólnego. Język Pseudo-maszyny CIL (sterowany przez asembler). Kompilator JIT. Języki programowania. Zespoły. Metadane. Śmieciarz. Biblioteka klas .NET Framework

Problemy rozwojowe nowoczesnych systemów informatycznych

Problemy z integracją

  • Moduły napisane w różnych językach, korzystające z różnych API (lub wersji API) lub inny format prezentacja danych;
  • Programy opracowane dla różnych platform w ramach jednego pakietu oprogramowania;
  • Systemy wykorzystujące różne modele programowania.

Szczególnie powszechne są problemy z integracją ze starszym kodem. Podczas rozwiązywania problemów integracyjnych pojawiają się problemy z niekompatybilnością.

Problemy z przenoszeniem

Coraz częściej wymagane są programy do obsługi wielu platform (na przykład możliwość pracy z programem na platformie Windows i Mac OS).

Problemy z wersją

Programiści Windows są świadomi problemu ze zgodnością wersji, znanego jako piekło DLL. To „piekło” występuje, gdy komponenty zainstalowane dla nowej aplikacji zastępują komponenty starej aplikacji. W rezultacie stara aplikacja zaczyna działać nieprawidłowo lub przestaje działać.

Zarządzanie zasobami

Jednym z problemów programistycznych jest zarządzanie i prawidłowe zwalnianie zasobów, plików, pamięci, miejsca na ekranie, połączenia sieciowe, zasoby bazy danych itp. Nieprawidłowe zarządzanie tymi zasobami może prowadzić do nieprawidłowego wykonania programu.

Bezpieczeństwo typu

Wspominając problem bezpieczeństwa typów, mają na myśli nieprawidłową obsługę typów danych: próby dostępu do obszarów pamięci poza granicami typów, próby wywołania metod, których nie ma w typie, lub próby wywołania metody, która przyjmuje typ A jako parametr i przekaż go jako obiekt parametru typu B.

Obsługa awarii

Podczas tworzenia aplikacji systemu Windows przy użyciu interfejsu API Win32 niektóre funkcje zwracają wyjątki, inne zwracają kody stanu, a jeszcze inne zwracają HRESULT. W związku z tym nie ma spójnego mechanizmu obsługi błędów i możliwe jest zignorowanie niektórych wyjątków, co czyni kod niebezpiecznym.

Te i inne problemy rozwojowe systemy informacyjne pomaga rozwiązać platformę Microsoft .NET.

Rozwiązywanie problemów rozwoju systemów informatycznych w .NET

Jednym ze sposobów rozwiązania problemu heterogeniczności jest opracowanie i utrzymanie standardowych interfejsów API, które ułatwiają przenoszenie aplikacji na serwery na wielu platformach. Aplikacje mogą jednak korzystać z baz danych, komunikacji i innych usług, których interfejsy nie są elementami składowymi języka ani środowiska programistycznego. Inną techniką stosowaną przez producentów w celu rozwiązania problemu niejednorodności jest obsługa standardowych protokołów. Systemy obsługujące ten sam protokół mogą komunikować się ze sobą, nawet jeśli opierają się na różnych architekturach maszyn i OS.

Technologia. NET to metoda tworzenia i wdrażania oprogramowania, która przy użyciu szeroko stosowanych standardów, takich jak HTTP i XML, umożliwia programom komunikację i zapewnia dostęp do licznych usług oprogramowania przez Internet. Technologia obejmuje. NET Framework - platforma do tworzenia i wykonywania aplikacji, która upraszcza i przyspiesza rozwój, obsługuje w pełni zorientowaną obiektowo programowanie dla sieci Web, naprawia wiele typów typowych błędów programistycznych, zapewnia wspólny interfejs API dla wszystkich języków.

Co sprawia, że ​​Microsoft .NET

NET Framework to platforma do tworzenia aplikacji. Jego głównymi składnikami są środowisko uruchomieniowe języka wspólnego i biblioteka klas. Biblioteka klas NET Framework.

Środowisko uruchomieniowe wspólnego języka

Środowisko uruchomieniowe języka wspólnego (CLR) to środowisko uruchomieniowe języka wspólnego, które abstrahuje usługi systemu operacyjnego i wykonuje aplikacje zarządzane, których każda akcja musi być autoryzowana przez środowisko CLR.

Cały kod platformy .NET jest konwertowany przez środowisko CLR na kod pośredni CIL. Dlatego programiści mogą łatwo integrować kod napisany dla platformy .NET w różnych językach programowania. Wszystko, co można zrobić w jednym języku zgodnym z .NET (z rzadkimi wyjątkami), można zrobić w dowolnym innym. Kod w tych językach jest kompilowany w kod w jednym języku - języku CIL.

Środowisko CLR znajduje się na szczycie systemu operacyjnego i zapewnia wirtualne środowisko dla zarządzanych aplikacji. Kod platformy .NET jest wykonywany przez środowisko CLR lub ma uprawnienia do wykonywania poza środowiskiem CLR.

Kod CLR to polecenia języka pseudo-maszyny Common Intermediate Language (CIL). Instrukcje te są kompilowane w kodzie maszynowym odpowiedniego typu procesora na żądanie (dokładnie na czas) w czasie wykonywania. Zazwyczaj metoda jest kompilowana raz, przy pierwszym wywołaniu. Wynik jest następnie buforowany w pamięci, aby uniknąć opóźnień w ponownej próbie. Kompilator JIT optymalizuje kod specjalnie dla procesora, na którym kod jest wykonywany.

Konwertując instrukcje CIL na instrukcje procesora, kompilator JIT przeprowadza weryfikację bezpieczeństwa typu kodu.

Wykonanie polecenia, które uzyskuje dostęp do obszaru pamięci, do którego polecenie nie ma uprawnień dostępu, jest prawie niemożliwe. W aplikacji zarządzanej problem błędnie zainicjowanych wskaźników jest eliminowany i nie można konwertować typu na coś, co nie jest, ponieważ jest to naruszenie bezpieczeństwa typów. Środowisko CLR nie zezwala na wywoływanie metod ze zniszczoną ramką stosu.

Zasoby przydzielone przez kod zarządzany są odzyskiwane przez garbage collector. Innymi słowy, programista tylko alokuje pamięć, ale jej nie zwalnia - robi to CLR. Odśmiecacz śledzi wszystkie odniesienia do obiektów utworzonych przez program i niszczy te obiekty, gdy zajmowana przez nie pamięć jest potrzebna gdzie indziej. Rozwiązuje to problem przecieków pamięci w aplikacjach z kodem zarządzanym.

Weryfikacja kodu ma również fundamentalne znaczenie dla zdolności środowiska CLR do uruchamiania wielu aplikacji w ramach jednego procesu. Proces podzielony jest na wirtualne przedziały - domeny aplikacji. Zwiększa to efektywność wykorzystania pamięci przydzielonej do procesów. Domeny aplikacji są tak samo bezpieczne jak procesy, ponieważ ich granice nie mogą zostać naruszone przez aplikacje zarządzane.

Biblioteka klas .NET Framework (FCL)

Dołączone są zestawy bibliotek klas NET. Biblioteka NET Framework Class (FCL) zawierająca definicje kilku tysięcy typów, z których każdy zapewnia pewną funkcjonalność. Zestawy „pokrewnych” typów są gromadzone w oddzielnych przestrzeniach nazw. Na przykład przestrzeń nazw System zawiera klasę bazową Object, z której ostatecznie pochodzą wszystkie inne typy.

Tak więc każdy podmiot w. NET to obiekt z własnymi polami i metodami.

Dodatkowo System zawiera typy dla liczb całkowitych, znaków, stringów, obsługę wyjątków, konsolowe I/O, grupę typów do bezpiecznej konwersji jednego typu na inny, formatowanie danych, generowanie liczb losowych i wykonywanie operacji matematycznych. Wszystkie aplikacje używają typów z przestrzeni nazw System.

Możesz utworzyć własny typ pochodny, aby zmodyfikować istniejący typ FCL. Możesz tworzyć własne przestrzenie nazw. Wszystko to w jasny sposób będzie odpowiadać zasadom proponowanym przez platformę. INTERNET

Oto niektóre z bardziej popularnych przestrzeni nazw i krótki opis typów, które zawierają.

Podstawowe przestrzenie nazw FCL
Przestrzeń nazw Zadowolony
System Podstawowe typy danych i klasy pomocnicze
Kolekcje systemowe Tabele haszujące, tablice zmiennych i inne kontenery
System.Dane Klasy ADO .NET dla dostępu do danych
System.Rysunek Klasy do wyświetlania grafiki (GDI+)
System.IO Klasy we/wy plików i strumieni
System.Net Zajęcia do pracy z protokoły sieciowe np. przez HTTP
System.Odbicie Zajęcia do czytania i pisania metadanych
System.Runtime.Remoting Klasy dla aplikacji rozproszonych
System.ServiceProcess Zajęcia z tworzenia usług Windows
System.Gwintowanie Zajęcia do tworzenia i zarządzania strumieniami
System.Web Klasy obsługi HTTP
System.Usługi.Web Zajęcia do tworzenia usług internetowych
Systemowe.Usługi.Web. Klasy do tworzenia klientów usług internetowych protokołów
System.Web.UI Główne klasy używane przez ASP .NET
System.Web.UI. Kontrola sieci Kontrolki serwera ASP .NET
System.Wndows.Forms Klasy dla aplikacji GUI
System.Xml Klasy do czytania i wprowadzania danych XML

Używają wszystkich zarządzanych aplikacji

Dobry dzień. Aleksiej Gulynin jest w kontakcie. W poprzednim artykule widzieliśmy, jak przekazać argumenty do metody w C#. W tym artykule chciałbym jeszcze raz opowiedzieć (prostszymi słowami) co to jest Platforma. Net Framework i Visual Studio. Ten artykuł jest kontynuacją artykułów Visual Studio Description i .Net Framework .Net Framework Czy CLR (środowisko uruchomieniowe języka wspólnego — główny składnik .Net Framework), co zapewnia wykonanie kodu zarządzanego. CLR zarządza tym kodem. Co to jest kod zarządzany? Kod napisany dla .NET Framework nie jest kompilowany do końcowego kodu maszynowego, ale do języka pośredniego (tzw. Intermediate Language, IL). Następnie ten zestaw jest przekazywany do użytkownika (musi być .Net Framework na maszynie), ładowany do pamięci i tłumaczy polecenia IL na akcje, które należy wykonać.

Jaki jest sens w języku średniozaawansowanym IL?

Po pierwsze, jest niezależny od platformy, nie jest powiązany z konkretnym procesorem.

Po drugie, jego obecność pozwala CLR kontrolować działanie twojego programu, tj. nie pozwalaj jej robić żadnych niedopuszczalnych rzeczy (na przykład manipulowanie pamięcią).

Drugi ważny składnik po CLR jest biblioteka klas... .NET Framework zawiera dużą liczbę klas w przestrzeni nazw, które zapewniają wszystkie podstawowe funkcje. Jest to funkcjonalność, której może potrzebować Twój program, na przykład praca z plikami, sieciami, procesami, z podsystemem graficznym.

Trzeci składnik Czy Development Frameworks (innymi słowy biblioteki programistyczne). Obejmuje to biblioteki takie jak WPF (Windows Presentation Foundation), ASP.NET, Entity Framework, WCF (Windows Communication Foundation), Sklep Windows i inne W rzeczywistości są to również klasy. Różnica polega na tym, że te zajęcia mają na celu rozwiązywanie konkretnych problemów:

  • WPF - do pracy z aplikacjami graficznymi
  • ASP.NET - do pracy z aplikacjami webowymi
  • WCF - do tworzenia sieci i tworzenia aplikacji rozproszonych (klient-serwer)
  • Entity Framework — do pracy z bazą danych.

W momencie pisania tego tekstu Ostatnia wersja jest .Net Framework 4.6

Podstawowym środowiskiem programistycznym zalecanym przez firmę Microsoft jest Visual Studio. Microsoft zwykle ma taką sytuację: jak to wychodzi nowa wersja.NET Framework, a po chwili pojawia się nowa wersja Visual Studio. Co zawiera program Visual Studio (podstawowe):

  1. Edytor tekstu z podświetlaniem składni kodu
  2. System pomocy IntelliSence (wywoływany automatycznie lub przez naciśnięcie Ctrl + Spacja (spacja)
  3. Kompilatory z różnych języków
  4. Szybkie tworzenie aplikacji (RAD)
  5. Projektant wizualny interfejsów, diagramów
  6. Komponent do pracy z serwerami, z bazami danych
  7. Serwer WWW IIS i opcja Express Server sql
  8. Debugery, profilery, komponenty pozwalające na obsługę błędów
  9. System pomocy MSDN

W chwili pisania tego tekstu najnowsza wersja to Visual Studio 2015.

Jak działa koncepcja programów w Visual Studio. Pracownia posiada koncept „Projekt” i „Rozwiązanie”. Projekt to jednostka kompilacji. Składa się z zestawu plików. Projekt jest kompilowany w całości, zwykle do zestawu (plik exe lub plik dll). Projekty można grupować w rozwiązanie. Rozwiązanie to po prostu zbiór projektów, które mogą, ale nie muszą być ze sobą powiązane (co zwykle się dzieje).

Typy aplikacji .NET

Języka C# można używać do tworzenia aplikacji konsolowych — aplikacji tekstowych, które działają w oknie DOS. Najprawdopodobniej takie aplikacje posłużą do testowania bibliotek klas. Jednak najczęściej C# będzie musiał być używany do tworzenia aplikacji, które mają dostęp do wielu technologii związanych z .NET. Ten artykuł zawiera szybki przegląd różnych typów aplikacji, które można pisać w języku C#.

Tworzenie aplikacji ASP.NET

Wczesne pojawienie się ASP.NET 1.0 zasadniczo zmieniło model programowania internetowego. ASP.NET 4 to starsza wersja produktu, oparta na wcześniejszych udoskonaleniach. ASP.NET 4 wprowadza ważne przełomowe kroki, aby zwiększyć produktywność. Głównym celem ASP.NET 4 jest umożliwienie tworzenia potężnych, bezpiecznych, dynamicznych aplikacji z możliwie najmniejszą ilością kodu.

Funkcje ASP.NET

Pierwszą i być może najważniejszą jest to, że strony… zbudowany... Oznacza to, że każda strona jest w rzeczywistości klasą odziedziczoną z Klasa .NET System.Web.UI.Page, który może przesłonić zestaw metod wywoływanych podczas cyklu życia obiektu Page. (Możesz myśleć o tych wydarzeniach jako o rodzeństwo wydarzeń na konkretnej stronie Przy uruchomieniu_aplikacji oraz OnSession_Start które pojawiły się w plikach global.asax w klasycznej ASP). Ponieważ funkcjonalność stron można podzielić na programy obsługi zdarzeń w określonych celach, strony ASP.NET są znacznie łatwiejsze do zrozumienia.

Inną fajną rzeczą dotyczącą stron ASP.NET jest to, że można je tworzyć w Visual Sludio 2010, tym samym środowisku, w którym kodujesz logikę biznesową i komponenty dostępu do danych używane przez te same strony ASP.NET. Projekt lub rozwiązanie programu Visual Studio 2010 zawiera wszystkie pliki skojarzone z aplikacją. Co więcej, klasyczne strony ASP można debugować bezpośrednio w edytorze. V dawne czasy związane z Visual InterDev, istniała irytująca potrzeba specjalnego skonfigurowania InterDev i serwera WWW projektu, aby umożliwić debugowanie.

Dla jasności, narzędzie ASP.NET związane z kodem pozwala jeszcze bardziej rozszerzyć strukturalne podejście. ASP.NET umożliwia wyodrębnienie funkcji serwera strony w klasie, skompilowanie tej klasy wraz z innymi stronami do biblioteki DLL i umieszczenie tej biblioteki DLL w katalogu poniżej części HTML. Dyrektywa @Page na początku strony kojarzy ten plik z klasą. Gdy przeglądarka żąda strony, serwer sieciowy generuje zdarzenia w klasie znajdującej się w pliku klasy strony.

Ostatnią, ale nie mniej ważną właściwością ASP.NET, o której należy wspomnieć, jest zwiększona wydajność. Podczas gdy klasyczne strony ASP są interpretowane przy każdym dostępie do strony, strony ASP.NET są buforowane na serwerze sieci Web po kompilacji. Oznacza to, że wszystkie kolejne żądania dotyczące stron ASP.NET są szybsze niż pierwsze.

ASP.NET ułatwia również pisanie stron wyświetlających formularze w przeglądarce, które można zastosować do sieć korporacyjna... Tradycyjny pogląd na aplikacje zorientowane na formularze polega na tym, że zapewniają one bogaty interfejs użytkownika, ale są trudniejsze w utrzymaniu, ponieważ działają na wielu komputerach klienckich. Z tego powodu ludzie polegają na aplikacjach zorientowanych na formularze tylko wtedy, gdy potrzebują bogatego interfejsu i mogą zapewnić niezawodne wsparcie swoim użytkownikom.

Formularze internetowe

Aby jeszcze bardziej uprościć projektowanie stron internetowych, Visual Studio 2010 udostępnia bibliotekę formularzy sieci Web. To narzędzie pozwala na graficzne tworzenie stron ASP.NET, tak jak okna są tworzone w Visual Basic 6 i C++ Builder. Innymi słowy, będziesz musiał przeciągnąć niezbędne kontrolki z przybornika na powierzchnię formularza, a następnie nieznacznie dostosować kod formularza i napisać obsługę zdarzeń dla kontrolek. Używając języka C# do tworzenia formularza internetowego, tworzysz klasę C#, która dziedziczy po klasie bazowej Strona i stronę ASP.NET, która renderuje tę klasę jako jej kod. Oczywiście nie musisz używać C# do tworzenia formularza internetowego; w tym celu można również użyć Visual Basic 2010 lub dowolnego innego języka zorientowanego na platformę .NET.

W przeszłości złożoność tworzenia stron internetowych powstrzymywała niektóre zespoły programistyczne przed próbami jej opanowania. Aby odnieść sukces w tworzeniu aplikacji internetowych, trzeba było znać wiele różne technologie takich jak VBScript, ASP, DHTML, JavaScript itp. Zastosowanie koncepcji formularzy sieci Web na stronach sieci Web znacznie ułatwiło tworzenie aplikacji sieci Web.

Kontrola serwera WWW

Kontrolki używane w formularzach sieci Web nie są kontrolkami w tym samym sensie, w jakim są kontrolkami ActiveX. Zamiast tego są to deskryptory XML należące do przestrzeni nazw ASP.NET, które przeglądarka internetowa dynamicznie przekształca w deskryptory HTML i skrypty po stronie klienta, gdy strona jest żądana. Co zaskakujące, serwer WWW może renderować te same kontrolki po stronie serwera na różne sposoby, generując przekształcenie odpowiednie dla konkretnej przeglądarki internetowej, która wysłała żądanie. Oznacza to, że możesz teraz łatwo stworzyć idealne interfejsy użytkownika strony internetowe bez martwienia się o to, jak sprawić, by strona działała w dowolnej z dostępnych przeglądarek - o to zadbają Web Forms.

Usługi sieciowe XML

Obecnie strony HTML stanowią większość ruchu w sieci WWW. Jednak dzięki XML komputerom nadaje się format niezależny od urządzenia, który można wykorzystać do komunikacji przez Internet. W przyszłości komputery będą mogły używać XML do wymiany informacji, zamiast wysyłać do siebie wiadomości za pośrednictwem linii dzierżawionych w zastrzeżonym formacie, takim jak EDI (elektroniczna wymiana danych). Usługi XML sieci Web zostały zaprojektowane z myślą o środowisku sieciowym zorientowanym na usługi, w którym komputery zdalne dostarczają sobie nawzajem dynamiczne informacje, które można przeanalizować i ponownie sformatować przed ostateczną prezentacją użytkownikowi. Usługi XML sieci Web to łatwy sposób udostępniania przez komputery informacji w formie XML innym komputerom w Internecie.

Z technicznego punktu widzenia usługa sieci Web .NET XML to strona ASP.NET, która na żądanie klientów zwraca XML zamiast HTML. Takie strony opierają się na bibliotekach DLL związanych z kodem, które zawierają klasy dziedziczone z usługi WebService. Środowisko IDE programu Visual Studio 2010 udostępnia mechanizm ułatwiający tworzenie usług internetowych.

Przedsiębiorstwo lub organizacja może wybrać usługi XML Web Services z dwóch głównych powodów. Pierwszym powodem jest to, że są oparte na HTTP; Usługi internetowe mogą wykorzystywać istniejące sieci oparte na protokole HTTP jako pośrednicy do przesyłania informacji. Innym powodem jest to, że ponieważ usługi XML sieci Web używają XML, format przesyłanych danych jest samodokumentujący, otwarty i niezależny od platformy.

Tworzenie formularzy Windows

Chociaż C# i .NET są zaprojektowane specjalnie do tworzenia stron internetowych, nadal obsługują tak zwane „grube” aplikacje klienckie — to znaczy. aplikacje, które muszą być zainstalowane na maszynie użytkownika końcowego, na której odbywa się większość przetwarzania. Zapewnia to biblioteka formularzy systemu Windows.

Jeśli jednak zaczynasz uczyć się frameworka .NET, chciałbym nie polecałem uczysz się Windows Forms i przechodzisz od razu do najnowszej technologii WPF.

Windows Presentation Foundation (WPF)

Jeden z najnowsze technologie Windows Presentation Foundation (WPF) jest rewolucyjna. WPF opiera się na użyciu XAML do kompilowania aplikacji. XAML oznacza Extensible Application Markup Language - Extensible Application Markup Language. Ten nowy sposób budowania aplikacji w środowisku Microsoft, wprowadzony po raz pierwszy w 2006 roku, jest częścią .NET Framework 3.0, 3.5 i 4. Oznacza to, że aby uruchomić dowolną aplikację WPF, należy upewnić się, że komputer kliencki jest zainstalowany .NET Framework 3.0, 3.5 lub 4. Aplikacje WPF są dostępne dla Windows 7, Windows Vista, Windows XP, Serwer Windows 2003 i Windows Server 2008 (tylko te systemy operacyjne umożliwiają zainstalowanie .NET Framework 3.0, 3.5 lub 4).

XAML to deklaracja XML używana do tworzenia formularzy, które reprezentują wszystkie wizualne aspekty i zachowanie aplikacji WPF. Ponieważ możesz pracować programowo z aplikacją WPF, ta technologia stanowi krok w kierunku programowania deklaratywnego, do którego zmierza dziś branża. Programowanie deklaratywne oznacza, że ​​zamiast tworzyć obiekty poprzez pisanie kodu w skompilowanym języku, takim jak C#, VB czy Java, wszystko jest deklarowane przy użyciu programowania podobnego do XML.

Usługi Windows

Usługa Windows (pierwotnie zwana usługą NT) to program przeznaczony do działania w tle pod Windows NT / 2000 / XP / 2003 / Vista / 7 (ale nie Windows 9x). Usługi te są przydatne, gdy trzeba zorganizować ciągłą pracę programów gotowych do reagowania na zdarzenia, bez konieczności jawnego uruchamiania ich z inicjatywy użytkownika. Dobrym przykładem jest usługa WWW na serwerach WWW, która nasłuchuje żądań WWW od klientów.

Tworzenie usług w C# jest bardzo łatwe. W przestrzeni nazw System.Service.Proces Dostępne są podstawowe klasy .NET Framework, które umożliwiają rozwiązywanie większości zadań szablonowych związanych z usługami systemowymi. Ponadto Visual Studio .NET pozwala na stworzenie projektu C# Windows Service, w którym można zbudować usługi Windows używany przez źródło C #.

Windows Communication Foundation (WCF)

W miarę odkrywania sposobów, w jakie technologie firmy Microsoft przenoszą dane i usługi z jednego punktu do drugiego, odkryjesz, że masz wiele różnych możliwe rozwiązania... Na przykład można użyć usług sieci Web ASP.NET, technologii komunikacji zdalnej .NET, usług dla przedsiębiorstw lub usługi MSMQ. Jaką technologię wybrać? Odpowiedź na to pytanie jest podyktowana tym, co chcesz osiągnąć, ponieważ każda z tych technologii jest preferowana w konkretnej sytuacji.

Mając to na uwadze, Microsoft naprawdę połączył wszystkie te technologie, a w .NET Framework 3.0 i jego włączeniu do .NET Framework 3.5 i 4 istnieje jeden sposób przenoszenia danych — Windows Communication Foundation (WCF). Biblioteka WCF zapewnia możliwość wstępnego skompilowania usługi, a następnie dostarczenia tej usługi na różne sposoby (nawet za pomocą różnych protokołów) z prostą zmianą plik konfiguracyjny. WCF to bardzo potężne nowe narzędzie do łączenia systemów rozproszonych.

Windows Workflow Foundation (WF)

Windows Workflow Foundation (WF) został po raz pierwszy wprowadzony w .NET Framework 3.0, ale teraz przeszedł gruntowną przebudowę, która będzie teraz dla wielu bardziej przydatna. Przekonasz się, że środowisko WF zostało znacznie ulepszone w programie Visual Studio 2010, co znacznie ułatwia tworzenie własnych przepływów pracy. Znajdziesz również nowe kontrolki przepływu, klasę Flowchart oraz szereg nowych akcji, takich jak DoWhile, ForEach i ParallelForEach.