Megosztás a következőn keresztül:


Üzemeltetési szolgáltatások

Az aktívvá váláshoz egy szolgáltatást olyan futtatókörnyezetben kell üzemeltetni, amely létrehozza azt, és szabályozza annak környezetét és élettartamát. A Windows Communication Foundation (WCF) szolgáltatásai úgy vannak kialakítva, hogy a felügyelt kódot támogató Windows-folyamatokban fussanak.

A WCF egységes programozási modellt biztosít a szolgáltatásorientált alkalmazások létrehozásához. Ez a programozási modell konzisztens marad, és független attól a futásidejű környezetétől, amelyben a szolgáltatást üzembe helyezték. A gyakorlatban ez azt jelenti, hogy a szolgáltatások kódja ugyanúgy néz ki, mint az üzemeltetési lehetőség.

Ezek az üzemeltetési lehetőségek a konzolalkalmazáson belüli futtatástól a kiszolgálói környezetekig terjednek, például az Internet Information Services (IIS) vagy a Windows Folyamataktiválási szolgáltatás (WAS) által felügyelt feldolgozó folyamaton belül futó Windows-szolgáltatásokig. A fejlesztők a szolgáltatás üzembe helyezési követelményeinek megfelelő üzemeltetési környezetet választják. Ezek a követelmények származhatnak abból a platformból, amelyen az alkalmazás üzembe van helyezve, az átvitelből, amelyen üzeneteket kell küldenie és fogadnia, vagy a megfelelő rendelkezésre állás biztosításához szükséges folyamat-újrahasznosítási és egyéb folyamatkezelés típusától, vagy más felügyeleti vagy megbízhatósági követelményektől. A következő szakasz információkat és útmutatást nyújt az üzemeltetési lehetőségekről.

Tárhely lehetőségek

Önkiszolgáló üzemeltetés felügyelt alkalmazásban

A WCF-szolgáltatások bármely felügyelt alkalmazásban üzemeltethetők. Ez a legrugalmasabb megoldás, mert a legkisebb infrastruktúrát kell üzembe helyeznie. Beágyazza a szolgáltatás kódját a felügyelt alkalmazás kódjába, majd létrehoz és megnyit egy példányt a ServiceHost szolgáltatás elérhetővé tétele érdekében. További információ : WCF-szolgáltatás üzemeltetése felügyelt alkalmazásban.

Ez a beállítás két gyakori forgatókönyvet tesz lehetővé: a konzolalkalmazásokon belül futó WCF-szolgáltatásokat és a gazdag ügyfélalkalmazásokat, például a Windows megjelenítési alaprendszer (WPF) vagy a Windows Forms (WinForms) alapúakat. A WCF-szolgáltatás konzolalkalmazáson belüli üzemeltetése általában hasznos az alkalmazás fejlesztési fázisában. Ez megkönnyíti a hibakeresést, könnyen lekérheti a nyomkövetési információkat, hogy megtudja, mi történik az alkalmazáson belül, és könnyen mozoghat, ha új helyekre másolja őket. Ez az üzemeltetési lehetőség megkönnyíti a gazdag ügyfélalkalmazások, például a WPF és a WinForms alkalmazások számára a külvilággal való kommunikációt. Például egy olyan társközi együttműködési ügyfél, amely a WPF-et használja a felhasználói felületéhez, és olyan WCF-szolgáltatást is üzemeltet, amely lehetővé teszi más ügyfelek számára, hogy csatlakozzanak hozzá és információkat osszanak meg.

Felügyelt Windows-szolgáltatások

Ez az üzemeltetési lehetőség azt az alkalmazástartományt (AppDomain) regisztrálja, amely egy WCF-szolgáltatást felügyelt Windows-szolgáltatásként (korábbi nevén NT-szolgáltatásként) üzemeltet, hogy a szolgáltatás folyamatélettartamát a Windows-szolgáltatások szolgáltatásvezérlő kezelője (SCM) szabályozza. Az önkiszolgáló beállításhoz hasonlóan az ilyen típusú üzemeltetési környezethez is szükség van bizonyos üzemeltetési kód írására az alkalmazás részeként. A szolgáltatás Windows-szolgáltatásként és WCF-szolgáltatásként is implementálva van, mivel az öröklődik az ServiceBase osztálytól és a WCF szolgáltatási szerződési felületétől is. Ezt ServiceHost követően egy felülírt OnStart(String[]) metóduson belül jön létre és nyílik meg, és felülre bírált OnStop() metóduson belül bezárja. Az öröklődő telepítőosztályt Installer is végre kell hajtani, hogy a program windowsos szolgáltatásként legyen telepítve a Installutil.exe eszköz által. További információ : WCF-szolgáltatás üzemeltetése felügyelt Windows-szolgáltatásban. A felügyelt Windows-szolgáltatás üzemeltetési lehetőség által engedélyezett forgatókönyv az, hogy egy hosszú ideig futó, IIS-en kívül üzemeltetett WCF-szolgáltatás olyan biztonságos környezetben van üzemeltetve, amely nincs üzenet-aktiválva. A szolgáltatás élettartamát az operációs rendszer vezérli. Ez az üzemeltetési lehetőség a Windows összes verziójában elérhető.

Internet Information Services (IIS)

Az IIS-üzemeltetési lehetőség integrálva van a ASP.NET, és a technológiák által kínált funkciókat használja, például a folyamat-újrahasznosítást, az inaktív leállítást, a folyamatállapot-monitorozást és az üzenetalapú aktiválást. A Windows XP és a Windows Server 2003 operációs rendszereken ez az előnyben részesített megoldás a magas rendelkezésre állású és nagy mértékben méretezhető webszolgáltatási alkalmazások üzemeltetéséhez. Az IIS azt az integrált kezelhetőséget is biztosítja, amelyet az ügyfelek egy nagyvállalati szintű kiszolgálói terméktől várnak. Ez az üzemeltetési lehetőség megköveteli az IIS megfelelő konfigurálását, de nem követeli meg, hogy az alkalmazás részeként bármilyen üzemeltetési kódot meg kell írni. További információ az IIS-üzemeltetés WCF-szolgáltatáshoz való konfigurálásáról: Útmutató: WCF-szolgáltatás üzemeltetése az IIS-ben.

Az IIS által üzemeltetett szolgáltatások csak a HTTP-átvitelt használhatják. Az IIS 5.1-ben való megvalósítása bizonyos korlátozásokat vezetett be a Windows XP rendszerben. Az IIS 5.1 által a Windows XP-en futó WCF-szolgáltatáshoz biztosított üzenetalapú aktiválás megakadályozza, hogy ugyanazon a számítógépen bármely más, saját üzemeltetésű WCF-szolgáltatás kommunikáljon a 80-as porton. A WCF-szolgáltatások ugyanabban az AppDomain/Alkalmazáskészlet/Feldolgozó folyamatban futhatnak, mint más alkalmazások, amikor az IIS 6.0 üzemelteti a Windows Server 2003-on. Mivel azonban a WCF és az IIS 6.0 egyaránt a kernel módú HTTP-vermet (HTTP.sys) használja, az IIS 6.0 képes megosztani a 80-at más, ugyanazon a gépen futó, saját üzemeltetésű WCF-szolgáltatásokkal, az IIS 5.1-vel ellentétben.

Windows folyamataktiválási szolgáltatás (WAS)

A Windows Folyamataktiválási szolgáltatás (WAS) a Windows Server 2008 új folyamataktiválási mechanizmusa, amely a Windows Vista rendszeren is elérhető. Megtartja a jól ismert IIS 6.0-s folyamatmodellt (alkalmazáskészletek és üzenetalapú folyamataktiválás) és üzemeltetési funkciókat (például a gyors hibavédelmet, az állapotfigyelést és az újrahasznosítást), de eltávolítja a HTTP-től való függőséget az aktiválási architektúrából. Az IIS 7.0 a WAS használatával hajtja végre az üzenetalapú aktiválást HTTP-en keresztül. További WCF-összetevők is csatlakoznak a WAS-hoz, hogy üzenetalapú aktiválást biztosítsanak a WCF által támogatott egyéb protokollokon, például TCP-n, MSMQ-n és elnevezett csöveken. Ez lehetővé teszi a kommunikációs protokollokat használó alkalmazások számára az IIS-funkciókat, például a folyamat-újrahasznosítást, a gyors feladatvédelmet és a közös konfigurációs rendszert, amelyek csak HTTP-alapú alkalmazások számára voltak elérhetők.

Ez az üzemeltetési beállítás megköveteli a WAS megfelelő konfigurálását, de nem követeli meg, hogy bármilyen üzemeltetési kódot írjon az alkalmazás részeként. A WAS-üzemeltetés konfigurálásáról további információt a How to: Host a WCF Service in WAS (WCF-szolgáltatás üzemeltetése a WAS-ban) című témakörben talál.

Üzemeltetési környezet kiválasztása

Az alábbi táblázat összefoglalja az egyes üzemeltetési lehetőségekhez kapcsolódó főbb előnyöket és forgatókönyveket.

Üzemeltetési környezet Gyakori forgatókönyvek Főbb előnyök és korlátozások
Felügyelt alkalmazás ("saját üzemeltetésű") - A fejlesztés során használt konzolalkalmazások.
- Rich WinForm- és WPF-ügyfélalkalmazások, amelyek hozzáférnek a szolgáltatásokhoz.
-Rugalmas.
- Könnyen üzembe helyezhető.
- Nem vállalati megoldás a szolgáltatásokhoz.
Windows Services (korábbi nevén NT-szolgáltatások) - Az IIS-en kívül üzemeltetett, hosszú ideig futó WCF-szolgáltatás. - A szolgáltatási folyamat élettartamát az operációs rendszer szabályozza, nem pedig üzenet-aktivált.
- A Windows minden verziója támogatja.
- Biztonságos környezet.
IIS 5.1, IIS 6.0 - WCF-szolgáltatás futtatása egymás mellett ASP.NET tartalommal az interneten a HTTP protokoll használatával. - Folyamat-újrahasznosítás.
- Tétlen leállítás.
- Folyamatállapot-monitorozás.
- Üzenetalapú aktiválás.
- csak HTTP.
Windows folyamataktiválási szolgáltatás (WAS) - WCF-szolgáltatás futtatása az IIS telepítése nélkül az interneten különböző átviteli protokollok használatával. - Nincs szükség IIS-ra.
- Folyamat-újrahasznosítás.
- Tétlen leállítás.
- Folyamatállapot-monitorozás.
- Üzenetalapú aktiválás.
- HTTP, TCP, nevesített csövek és MSMQ használatával működik.
IIS 7.0 - WCF-szolgáltatás futtatása ASP.NET tartalommal.
- WCF-szolgáltatás futtatása az interneten különböző átviteli protokollok használatával.
- WAS előnyök.
- Integrálva ASP.NET és IIS-tartalommal.

Az üzemeltetési környezet kiválasztása a Windows azon verziójától függ, amelyen üzembe helyezi, az üzenetek küldéséhez szükséges átviteltől, valamint a szükséges folyamat- és alkalmazástartomány-újrahasznosítási típustól. Az alábbi táblázat összefoglalja a követelményekkel kapcsolatos adatokat.

Üzemeltetési környezet Platform rendelkezésre állása Támogatott átvitelek Folyamat és AppDomain újrahasznosítása
Felügyelt alkalmazások ("saját üzemeltetésű") Windows XP, Windows Server 2003, Windows Vista,

Windows Server 2008
HTTP,

net.tcp,

net.pipe,

net.msmq
Nem
Windows Services (korábbi nevén NT-szolgáltatások) Windows XP, Windows Server 2003, Windows Vista,

Windows Server 2008
HTTP,

net.tcp,

net.pipe,

net.msmq
Nem
IIS 5.1 Windows XP HTTP Igen
IIS 6.0 Windows Server 2003 HTTP Igen
Windows folyamataktiválási szolgáltatás (WAS) Windows Vista, Windows Server 2008 HTTP,

net.tcp,

net.pipe,

net.msmq
Igen

Fontos megjegyezni, hogy egy szolgáltatás vagy egy nem megbízható gazdagép bármely bővítményének futtatása veszélyezteti a biztonságot. Megszemélyesítés alatt történő megnyitáskor ServiceHost az alkalmazásnak biztosítania kell, hogy a felhasználó ne legyen kijelentkezve, például a WindowsIdentity felhasználó gyorsítótárazásával.

Lásd még