Objekt Samling i COM + ...

Hvordan er Object Samling Implementert i COM +? Bak konseptet ...
Denne artikkelen omhandler konseptet bak GJENNOMFØRING AV OBJEKT samler seg i COM + kjøring. < .no> Hva er COM?
Det er en teknologi som definerer en standard måte for en klient modul og server-modulen for å kommunisere gjennom et sett med grensesnitt. Modulen kan være et program eller en DLL. Også klienten og serveren kan være i samme boks eller i forskjellige bokser Hva er COM +?
Det er bare en utvidet versjon av COM kommer med Windows 2000. Microsoft har omdefinert og lagt noen begreper /funksjoner med COM +. < b> Hva er objekt Samling og Hvorfor trenger vi objekt Samling?
for bedre å illustrere behovet for Object pooling, la oss vurdere en prøve webapplikasjon ved hjelp av COM-objekter. De grunnleggende funksjonene i en slik søknad ved hjelp av et COM-objekt ville være følgende: a. Oppretter en COM objectb. Bruker den COM-objektet ved å ringe ulike metoder /properties.c. Ødelegger COM objectLet oss anta at vi har en ASP-side i det web-applikasjon, og fikk rundt 30.000 forespørsler for en dag /i rushtiden. La oss anta at ASP side skaper tre COM-objekter i den siden. Så som per beregningen, ville det være 90.000 objekter som er opprettet og ødelagt. Du trenger ikke å si, det vil definitivt bruker mye ressurser og en overhead. Hva kan gjøres for å unngå dette? Resirkulere. Ja. Vi kan resirkulere objektene som brukes på en transaksjon i neste transaction.Here kommer objektet Pool. Det er et sted hvor programmet returnere COM-objekter etter å ha brukt den i stedet for å ødelegge det. Så hver gang programmet trenger et COM-objekt, må det å utføre følgende trinn: a. Sjekker objektet bassenget hvis det finnes. Hvis det finnes, og deretter bruke det eller oppretter en ny COM object.b. Bruk COM-objektet ved å ringe sin metoder /properties.c. Returnere det til samme objekt bassenget etter bruk av det.Dette ser ut som et godt konsept for å redusere /bevare bruken av ressurser i en web-applikasjon. Men neste spørsmålet kommer til hjernen vår er at vi kan gjennomføre alle de som er i en webapplikasjon? Vi kan; men vi trenger å tenke på følgende ting i mind.a. Hvem er ansvarlig for å administrere objektet Pool? B. Når det Objekt Pool vil bli opprettet /ødelagt? C. Når vil objektene bli opprettet /ødelagt i det bassenget? D. Når disse objektene vil bli ødelagt i denne puljen? E. Hvordan vil webapplikasjon vet å bruke gjenstandene i bassenget? Har søknaden må skrive en egen kode for å ringe et objekt i objekt bassenget? F. Hvordan kan vi håndtere flere klienter som bruker et objekt i objekt basseng Men implementere disse i hver webapplikasjon er virkelig en vanskelig oppgave, og det er en overhead på programmererens side; Også det er feil utsatt. Her kommer COM + !!!
COM + hjelper oss i å gjøre alle disse prosessene uten å endre en eneste linje med kode i vår COM-objektet. Det er det fine med COM +. En COM + -programmet er typisk en MTS søknad i tidligere Windows-versjoner (NT, 95); men i Windows 2000, har navnet blitt endret til COM +. Det er it.COM + gir oss en rekke tjenester. En av dens tjenester er dette Object pooling. Alt vi trenger å gjøre er å sette komponentegenskaper i Component Services Editor å bruke Object pooling. Resten vil bli tatt hånd om av COM + runtime.But i COM + 1.0, er det noen restriksjoner for bruk av sine tjenester av COM-objekter som er utviklet av ulike språk. Dette er på grunn av inkompatibilitet mellom COM + og languages.As av nå, COM-objekter utviklet ved hjelp av Visual Basic kan ikke bruke denne Object Samling tjeneste levert av COM +. Er det riktig? Noen ideer? Hva med COM-objekter utviklet ved hjelp av Delphi? Er Delphi 5.0 /6.0 COM + kompatible? Kan Delphi 5.0 /6.0 bruk alle tjenestene som tilbys av COM +? Fordi jeg ikke får en sjanse til å prøve dette ut. Diskusjoner er velkommen !!! Når COM objekter blir ødelagt?
Som alle COM programmerer vet, COM implementerer noen grunnleggende methods.a. QueryInterfaceb. AddRefc. ReleaseOut av disse metodene, er utløsning ansvarlig for å ødelegge gjenstanden. Etter COM-objektet er opprettet, hver gang en metode for COM-objektet kalles, vil det ringe AddRef metode for å øke referanseantall for den komponenten. Og etter metodekallet har vært over, vil referanse tellingen bli redusert med en, og når den når null, vil COM-objektet være destroyed.Reference teller er et tall som angir antall aktive kunder som bruker COM-objektet. hvordan Object Samling er implementert i COM +?
Dette er implementert ved å avskjære samtaler til utgivelsen metoden for IUnknown. Som du allerede vet, opprettholder hver COM-objekt referanse teller og når den når null, så det COM-objekt er ødelagt. Men dette er ikke bra hvis vi ønsker å gjenbruke /resirkulere objektet. I sin tur, er det ikke godt å implementere objektet Pooling tjenesten. Så følgende er gjennomført av COM +: en. COM + opprettholder en tilleggsreferansetelle for COM-objekter som skal samles når objektet er created.b. COM + fanger samtalene til Slipp metode for samlet COM objects.The over to ting er gjennomført av en teknikk som kalles avskjæring. Oppfanging gjennomføres ved en lett-vekt-proxy. Det er også kalt en Interceptor. Den inneholder en liten mengde av kode som virker mellom klienten og den virkelige gjenstand. Denne koden aktiveres for komponenter som er merket som sammenslåtte komponenter. Så ved denne teknikken, inteception, COM + runtime implementerer objektet Pooling.All disse skjer bak kulissene av COM + runtime. Alt vi trenger å gjøre for å gjøre bruk av dette objektet Samling tjenesten er å sørge for at vi satt rett 2option i Component Services Editor. Komponenttjenester er tilgjengelig i Win 2000. artikkelen er bare en begynnelse til COM +, og jeg ønsker å utforske mer på denne COM + senere. Hvis du har noen synspunkter, kommentarer eller har noen erfaring med det, kan du gjerne share.Enjoy !!! Thanks.Magesh.