NobrElosztott rendszerek labor — COM+/nobr

A VIK Wikiből
A nyomtatható változat már nem támogatott, és hibásan jelenhet meg. Kérjük, frissítsd a böngésződ könyvjelzőit, és használd a böngésző alapértelmezett nyomtatás funkcióját.

Ez az oldal a korábbi SCH wikiről lett áthozva.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.


COM komponens létrehozása

  • Hozzunk létre egy COM projectet a múltkori Add metódussal
  • New Project / C++ / ATL / ATL project
  • Add Class / ATL Simple Object
  • ...

C# kliens létrehozása

  • New / C# / Console Application
  • Add Reference / COM / előző projekt neve
static void Main(string[] args) {
	 try {
		  mathLib.adderClass obj = new mathLib.adderClass();
		  Console.WriteLine(obj.add(1, 2));
	 } finally {
		  Console.ReadLine();
	 }
}

COM+ komponens létrehozása

  • Start / Programs / Administrative Tools / Component Services
  • Component Services / Computers / My Computer / COM+ Applications
    • Amelyik ikon mozog, az a szolgáltatás fut
  • COM+ Applications / New Application / Create Empty / ... / Finish
  • Válasszuk ki a konténert, Components / New Component / Install New Components
  • előző COM project Debug könyvtárából válasszuk ki a dll-t
  • Indítsuk el a klienst, most már COM+ alapon megy
  • Minden változtatás előtt nyomni kell a komponensen egy Shut down-t.

A Shut Down time-tól nagyban függ az alkalmazás teljesítménye

Security beállítása

  • Komponens neve / Properties / Security / Enforce access checks for this application
  • A klienst elindtva UnauthorizedAccessException-t kapunk
  • Komponens neve / Roles / New role, neve: addrole
  • addrole / Users / add: demo
  • Komponens szinten engedélyezzük az addrole-t (komponensnév / Properties / Security). A beállítás tovább öröklődik metódus szintre.

Tesztelés másik userrel

  • My Computer / Manage. Hozzunk létre egy új usert demo2 néven és rakjuk bele az Administrators groupba. User must change password on next logon-t kapcsoljuk ki.
  • kliens exe-n: Run as / demo2 -> UnauthorizedAccessException

Telepítő gyártás

  • Komponens nevén Export
  • Töröljük ki a komponenst
  • Telepítsük újra az előbb legyártott msi-vel
  • A user beállítások elvesztek, mert nem volt becheckelve, hogy azokat is exportáljuk

-- Peti - 2006.04.28.