Áttekintés
Ez walkthrough leírja, hogyan lehet létrehozni egy csővezeték felépítmény, amely elvégzi az egyszerű számológép funkciókat. Nincs forgatókönyv szerint alkalmasak a termelési környezetben, hanem egyszerűen azt mutatja, az alapvető funkciókat a szállítószalag és a szolgáltatásnyújtás felépítmény fő alkalmazás.
Ez walkthrough ismerteti a következő feladatokat látja el:
Létrehozása megoldások Visual Studio.
Létrehozása a csővezeték könyvtár struktúrát.
Létrehozása a szerződés és a kilátás.
Létrehozása az adaptert a felépítmény oldalán.
Létrehozása az adapter oldalán a fő alkalmazás.
Létrehozása a fő alkalmazást.
Kezdve a fő alkalmazást.
Ez szállítószalag átutalást szerializált típusú (Double, és a String) a fogadó alkalmazás és a felépítmény. Egy példa, ami megmutatja, hogyan kell továbbítani a gyűjtemény összetett adattípusok, lásd végigjátszás :. Átadás gyűjtemények között Host és bővítmények.
A szerződés e vezeték meghatározza az objektum modell a négy aritmetikai műveletek: összeadás, kivonás, szorzás és osztás. A fő alkalmazás egy felépítmény általános képletű, amelyet be kell kiszámítani, például, 2 + 2, és add-in visszaküldi az eredményeket.
A 2-es verzió kiegészítő számológép további lehetőségeket számítástechnikai és bemutatja versioning. Ezt írja le a végigjátszás: engedélyezése visszafelé kompatibilitás, mint az Ön Host változások.
Kiegészítő kód példák és a CTP-változat az add-in szerszámok építési csővezetékek cm. A CodePlex webhely szóló részben bővítmények kezelése és kiegészítőket.
Ha szükséges, építeni a Visual Studio megoldás. Ez a döntés nem lehet befejezéséig az eljárás, de az építkezés minden egyes lépés után garantálja a helyességét az egyes projektek.
Mivel a bemutató a felépítmény és bemutatása a fő alkalmazás, kapcsolódó felépítmény, mint általában, nem különböznek a kódot, különösen az első változata a bővítményeket, akkor könnyen létre mindkét ábrázolás egyszerre. Ezek különböznek csak egy dolog: a kilátás a kiegészítőt igényel AddInBaseAttribute tulajdonság. mivel a képviselete a fő alkalmazás, kapcsolódó felépítmény, nem igényel attribútumokat.
Létrehozása céljából az add
Új projekt neve Calc1AddInView a CalculatorV1 döntést. Meg kell a sablon alapján osztálykönyvtárat.
A Solution Explorer megemlítik System.AddIn.dll a Calc1AddInView projektben.
A Solution Explorer kizárja az alapértelmezett osztály adunk az új osztály könyvtári projekt. majd adjunk hozzá egy új elemet a projekt segítségével az interfész sablon. A párbeszédablakban, egy új elem neve ennek ICalculator felület.
Az interfész fájl, adjunk hozzá egy utalás a névtér System.AddIn.Pipeline.
A következő kód a teljes benyújtása a felépítmény. Megjegyzendő, hogy ez a felület kell AddInBaseAttribute attribútumot.
Ez az adapter a kiegészítő oldalsó adapter áll egy „gondolat-szerződést.” Ez a szállítószalag-szegmens alakítjuk típusú add-reprezentáció a szerződésben.
Ez a bővítmény csővezeték szolgál a fő alkalmazási és milyen típusú bővítmények kerülnek a fogadó alkalmazás. Mivel nem típusokat küldött a fő alkalmazás a felépítmény, nincs szükség arra, hogy egy adapter „szerződés-képviselet” a felépítmény oldalán a szállítószalag.
Ahhoz, hogy hozzon létre egy add-in adapter oldalán
Az oldathoz CalculatorV1 Calc1AddInSideAdapter új projekt. Meg kell a sablon alapján osztálykönyvtárat.
A Solution Explorer utalásokat a következő szerelvényeket Calc1AddInSideAdapter projektben.
Add a projekt hivatkozás a tervezet mellett csővezeték szegmens:
Kattints a linkre az egyes projektek és a tulajdonságok, meg a hamis értéket a Copy Local. A Visual Basic, használja a hivatkozásokat fül alatt a Project Properties beállítani a paraméter értékét Copy Local False a két projekt hivatkozásokat.
Nevezze át a class alapértelmezés CalculatorViewToContractAddInSideAdapter projektben.
Az osztályban, adja hozzá névtér utalásokat System.AddIn.Pipeline.
Alkalmazza a tulajdonság AddInAdapterAttribute CalculatorViewToContractAddInSideAdapter osztályban. hogy meghatározza azt az adaptert a felépítmény oldalán.
CalculatorViewToContractAddInSideAdapter osztály örökli ContractBase. amely egy végrehajtási IContract alapértelmezett felület és végrehajtja a szerződés felület a csővezeték ICalc1Contract.
Add a nyilvános kivitelező, amely elfogadja ICalculator. tartalmát tárolja egy privát területen, és felszólítja az alap osztály konstruktora.
Megvalósítása ICalc1Contract elemekkel. Egyszerűen hívja fel a releváns elemeit a példány ICalculator. melyek végül a kivitelező, és visszatér az eredménnyel. A leadott képviselet (ICalculator) a szerződés (ICalc1Contract).
A következő kód mutatja az elkészült adaptert a felépítmény oldalán.
Ez az adapter oldalán a fő alkalmazási áll egy adapter „szerződés-képviselet”. Ez a szegmens alkalmazkodik a szerződés bemutatása a fő alkalmazás, kapcsolódó felépítmény.
Ez a bővítmény csővezeték szolgál a fő alkalmazási és milyen típusú bővítmények kerülnek a fogadó alkalmazás. Mivel nem típusokat küldött a fő alkalmazás a felépítmény, nincs szükség arra, hogy egy adapter „view-szerződést.”
Hogy ellenőrizzék az élettartama a kívánt objektumot használni ContractHandle. társítani a szerződés idő marker létezését. Az idő irányítási mechanizmus létezését a munka, meg kell tartani hivatkozni kell erre leíró. Alkalmazása után a marker nincs szükség további programozás, a felépítmény rendszer eltávolíthat elemeket, ha azok már nem használják, és elérhetővé teszi a szemétgyűjtő. További információért lásd. A Lifetime Management részben.
Ahhoz, hogy hozzon létre egy adapter oldalán a fő alkalmazási
Új projekt neve Calc1HostSideAdapter a CalculatorV1 döntést. Meg kell a sablon alapján osztálykönyvtárat.
A Solution Explorer utalásokat a következő szerelvényeket Calc1HostSideAdapter projektben.
Hozzátéve projekt referenciákkal tervezet szomszédos szegmensek:
Kattints a linkre az egyes projektek és a tulajdonságok, meg a hamis értéket a Copy Local. A Visual Basic, használja a hivatkozásokat fül alatt a Project Properties beállítani a paraméter értékét Copy Local False a két projekt hivatkozásokat.
Nevezze át a class alapértelmezés CalculatorContractToViewHostSideAdapter projektben.
Az osztályban, adja hozzá névtér utalásokat System.AddIn.Pipeline.
Alkalmazza a tulajdonság HostAdapterAttribute CalculatorContractToViewHostSideAdapter osztályban. hogy meghatározza azt a szegmens az adapter oldalán a fő alkalmazás.
CalculatorContractToViewHostSideAdapter osztály végre kell hajtania a felületet, amely képviseli az elképzelést, hogy a fő alkalmazás, kapcsolódó felépítmény: Calc1HVAs.ICalculator (Calc1HVA.CalcHVAs.ICalculator Visual Basic).
Add a nyilvános kivitelező, amely elfogadja a csővezeték szerződés típusa ICalc1Contract. A tervező kell cache a hivatkozás a szerződést. Azt is létrehozhat és cache az új leíró ContractHandle a szerződés kezeléséhez életciklusának a felépítmény.
Leíró ContractHandle kulcsfontosságú szerepet játszanak az élettartama. Ha nem tartja utalás az objektum ContractHandle. törlésre kerül, amikor szemétdíj, és a csővezeték lesz lezárva váratlanul a program. Ez hibákat okozhat, amit nehéz diagnosztizálni, mint AppDomainUnloadedException. A munka befejezése rendkívül fontos lépés életciklusában a szállítószalag, így segítségével az időgazdálkodás kód lehetetlen meghatározni az ilyen állapotban, mint egy hiba.
Megvalósítása ICalculator elemekkel. Egyszerűen hívja fel a releváns elemeit a példány ICalc1Contract. melyek végül a kivitelező, és visszatér az eredményeket. Ez alkalmazkodik a szerződés (ICalc1Contract) reprezentáció (ICalculator).
A következő kód mutatja az elkészült adapter oldalán a fő alkalmazás.
Fő alkalmazási kölcsönhatásba lép a bővítmény bemutatása révén a fő alkalmazás, kapcsolódó felépítmény. Az alkalmazott módszerek kimutatási és aktiválás add-in, amely osztályok és AddInStore AddInToken tennie a következőket:
Frissítése cache csővezeték és kiegészítő információkat.
Detection type bemutatása felépítmények ICalculator fő alkalmazása az említett szállító gyökérkönyvtárban.
Kérjen a felhasználó adja meg a bővítmény, ami kell használni.
Az aktiválás a kiválasztott bővítmény egy új alkalmazási területen a kiválasztott biztonsági szintnek.
Teljesítő egyéni módszer RunCalculator. Módszerek ami a felépítmény, amint azt a képviseletet az alap kapcsolatos alkalmazási felépítmény.
Létrehozásához a fő alkalmazási
Egy új projekt nevét, a Calc1Host CalculatorV1 döntést. Meg kell a sablon alapján Console alkalmazást.
A Solution Explorer hivatkozást tüntet fel a szerelvényt System.AddIn.dll Calc1Host projektben.
Add a projekt utalás Calc1HVA projekt. Válassza ki a projekt referencia, majd a Tulajdonságok részben állítsa a False értéket a Copy Local. A Visual Basic, használja a Projekt tulajdonságai elemet a hivatkozások lapot. állítsa be a paramétert Copy Local False.
Nevezze át a fájlt osztály (modul Visual Basic) MathHost1.
A Visual Basic, használja az Alkalmazás fület a Project Properties párbeszédablak az érték beállításához a Sub Main paraméter objektum automatikusan elindul.
Az osztály vagy modulfájlt, adjunk hozzá egy utalás a névtér System.AddIn.Hosting.
A fájl osztály vagy modult, hozzá egy hivatkozás a névtér, hogy képviselje a fő alkalmazás, kapcsolódó felépítmény: CalcHVAs. (A Visual Basic, ez a hivatkozás a névtér Calc1HVA.CalcHVAs. Hacsak egy alapértelmezett névtér van tiltva a Visual Basic projektek).
A Solution Explorer válassza ki a megoldást, majd a Project menüben kattintson a Tulajdonságok parancsra. A párbeszédablakban adja meg a tulajdonságokat Megoldás Egy dob tárgyak a projekt fő alkalmazást.
Az osztály vagy modul fájlt, használja AddInStore módszer. Update frissíteni a cache. Használja AddInStore módszer. FindAddIn hogy a gyűjtemény markerek, valamint a használat AddInToken módszer. aktiválása
A következő kód mutatja a befejezése a fő alkalmazás.