HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Az operációs rendszerek .NET Framework támogatása



A Microsoft operációs rendszereinek és a .NET Framework keretrendszerének együttműködéséhez szükséges tudnivalókkal foglalkozunk cikkünkben. Áttekintjük, hogy mely platformokra telepíthető a keretrendszer, megvizsgáljuk az egyéb szoftver előfeltételeket, és magyarázatot kapunk arra, hogy hogyan készítsük elő alkalmazásunkat a rendszerek közötti átjárhatóság támogatására.

Támogatott környezetek
A .NET Framework az alábbi táblázatban jelölt operációs rendszerekben telepíthető:
.NET Framework támogatása az ASP.NET nélkül Az egész .NET Framework támogatása
Windows 98 Windows 2000 (minden verzió - SP nem szükséges)
Windows 98 SE Windows XP Professional
Windows ME -
Windows NT 4.0 (minden verzió – SP6a szükséges) -
Windows XP Home Edition -
Az operációs rendszerek két csoportba tartoznak a .NET Framework szempontjából. Amint a táblázatban is láthatjuk azokra a rendszerekre telepíthető a teljes Framework, amelyek szerverként is tudnak üzemelni, és itt kivételt jelent a Windows NT 4.0 szerver, mert ebben az esetben csak kliens operációs rendszerként tud funkcionálni.
Az ASP.NET-en kívül csak néhány kisebb különbség van az említett platformok között a .NET Framework szempontjából. Például Windows 98 és Millenium nem tartalmaz eseménynapló szolgáltatást, így nem támogatott ezeken a rendszereken az Eventlog és a hozzá kapcsolódó szolgáltatások a System.Diagnostics névtérből.
Másik terület, ami a különbségeket illeti az XML Enterprise Services szolgáltatás, ugyanis ez csak a COM+ 1.0 vagy későbbi verziókkal ellátott rendszereken működőképes, így a Windows NT 4.0-ben, és bizonyos esetekben a Windows 2000-ben sem elérhetők a System.EnterpriseServices névtér megfelelő szolgáltatásai.
A .NET Framework szoftver követelményei
  • Internet Explorer 5.01
A .NET Framework, és az alapját képező (common language runtime - CLR) futtatókörnyezet sok olyan elemi részt tartalmaz, amely az Internet Explorer néhány verziójával szállított technológián alapszik. Ilyenek például a kód letöltése, a titkosítás, és az intra/internet zóna detektálásának képessége. Windows 98, 98 SE, NT4 esetében, ha nincs IE 5.01 telepítve, akkor a .NET Framework telepítése megáll, ellenben Windows ME, 2000, és XP esetében nincs ilyen probléma.
  • MDAC 2.6
A Microsoft Data Access Components által a Microsoft azt a technológiát nyújtja, ami az úgynevezett univerzális adathozzáférési stratégiát valósítja meg. Az MDAC letölthető és installálható külön vagy az operációs rendszernek is része lehet, esetleg az MS SQL szerverrel, vagy Office XP-vel együtt települ. A System.Data névtér (ami az ADO.NET) számára szükséges az MDAC 2.6 vagy magasabb verzió elérhetősége. Amikor a Framework-öt telepítjük Windows 2000 bármely verzióira, vagy XP Professional platformra, amely rendszerek ebből a szempontból kiszolgálóként funkcionálhatnak, a setup egy figyelmeztetést küld - ami következmények nélkül átléphető - ha az MDAC 2.7 vagy magasabb verzió nem elérhető. A többi operációs rendszer esetében egyáltalán nincs figyelmeztetés az MDAC hiánya esetén, ámbár ez a komponens az ADO.NET használatához szükséges.
  • Egyéb követelmények
Windows 2000, vagy XP esetén ha nincs telepítve az IIS megfelelő verziója, akkor figyelmeztetést kapunk. Egyéb rendszereken nincs figyelmeztetés, mivel ott nem elérhető az ASP.NET szolgáltatás.
Ha olyan programkódot írunk, ami Windws Management Instrumentation (WMI) osztályokat, eseményeket használ, a .NET használni fogja a System.Management névtér elemeit. Ha a WMI-t nem támogatja az adott platform, akkor a névtér nem funkcionál.
  • PlatformNotSupportedException
Van több szoftver komponens, amelynek a .NET Framework néhány része szükséges, de nem állítja meg a telepítést. Ha az adott komponens futás időben nem elérhető, a .NET Framework dob egy PlatformNotSupportedException típusú megszakítást, amit a saját alkalmazásnak kellene előkészítenie.
Rendszerek közötti átjárhatóság támogatásának előkészítése
A platformok közötti átjárhatóság széleskörű és gazdag támogatása már tervezési követelmény a .NET Framwork kezdete óta. Kiemelkedő jelentősége a .NET által nyújtott megoldásnak abból a képességéből adódik, hogy a fejlesztőknek szabad utat ad platformok széles területén működő alkalmazások készítésére. Egy .NET Framework osztály általában a futtatókörnyezet szükségleteinek megfelelően korlátozottan létezik az alapjául szolgáló platformon.
Mint mindig, van kivétel az általános megállapítások alól. A legjobb módszer, hogy biztosítsuk az átjárhatóságot a .NET által támogatott rendszerek között az, hogy saját osztályainkat olyan más meglévő osztályokból készítsük, amelyek már a .NET Framework-ben elérhetőek. Akárhányszor, ha egy .NET osztályt hozunk létre, ami egy egyszerű API-t hív meg, megnő a kockázata annak, hogy nem támogatja minden platform, ami hivatalosan a támogatott rendszerek között szerepel.
Mivelhogy a .NET Framework egy új technológia, lesznek olyan esetek, ahol egy új osztálynak szüksége van arra, hogy Win32 vagy más natív API-t hívjon, de ezt a hívás által generált behelyettesítések alapos megértésével lehet megtenni, és hogy a platform támogatási történetet hogy befolyásolja ez a döntés. Ezen gondolatot szem előtt tartva a következőket fontos megkérdeznünk:
  • Valóban szükséges, hogy kezelhetetlen API-t hívjunk (P/Invoke segítségével)?
  • Létezik a .NET Framework-nek olyan osztálya, amely már elfedi ezt az API-t?
  • Ha szükség van adatokra a rendszer alsóbb rétegeiből, megoldható-e ez a System.Management réteg használatával egy natív API hívással ellentétben?
  • Ha Win32 API-t kell hívnunk, meghívhatjuk-e ezeket a rendszer által támogatott módon ahelyett, hogy régi metódusokat használnánk, ami lehet, hogy behatárolja munkaképességünket az alsóbb rétegekben?
Miként a .NET Framework alatti OS szint folytatja a fejlődést új kiadványok megjelenésével, lehetnek olyan esetek, ahol a .NET osztálynak támaszkodnia kell az alatta lévő rendszertechnológiára, ami nem elérhető minden operációs rendszerben. Ebben az esetben az osztály tervezőinek fel kell mérniük, hogy milyen ára van az osztály valamennyi platform szerinti támogatásának egy segédprogrammal szemben, amely a megrendelő ügyfeleknek az adott platformokon elérhető funkcionalitást tartalmazva rendelkezésükre áll. Ha lehetséges az osztálynak biztosítania kell akár egyenértékű működőképességet az alatta lévő rendszereken, vagy az adott rendszeren működő funkciók csoportját kell nyújtania. Azokban az esetekben, ahol az osztály nem tud működni az operációs rendszer bizonyos részei nélkül, például az IIS mondja azt, hogy az osztály nem telepíthető ezen a platformon vagy meg kell vizsgálni a platformfüggőségét és dobni egy PlatformNotSupportedException megszakítást, ha az adott függőség nem elérhető.
Tegyük fel, hogy egy alkalmazás megpróbál létrehozni egy vezérelt Socket objektumot, meghívva a Socket konstruktort egy operációs rendszeren, amelyen nincs WinSock installálva. A következő megszakítás generálódik: „PlatformNotSupportedException: Socket cannot be created due to a missing required platform component, Winsock 1.1”

Könyv
Ez a cikk megtalálható ebben a könyvben: Windows Software Offline 2003 évkönyv 237. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |