Dela via


BEGREPP FÖR COM+-objektkonstruktorsträngar

COM+-objektkonstruktorsträngar är initieringssträngar som anges administrativt för en komponent. Du kan använda objektkonstruktorsträngar för att skriva en enskild komponent med en viss grad av generalitet som gör att den kan anpassas senare för en viss uppgift. Du kan alltså utföra parametriserad objektkonstruktion.

Du kan till exempel använda den här funktionen för att skriva en komponent som har en allmän ODBC-anslutning och senare ange ett exakt DSN för komponenten administrativt. Om systemkonfigurationen ändras kan du ändra konstruktorsträngen i enlighet med detta.

Not

Objektkonstruktorsträngar ska inte användas för att lagra säkerhetskänslig information.

 

Du kan använda objektkonstruktorsträngar tillsammans med objektpooler för att uppnå en högre grad av kornighet i hur du poolar och återanvänder resurser. Du kan till exempel skapa flera distinkta komponenter, identiska förutom konstruktorsträngar och CLSID:er, för att underhålla distinkta pooler med objekt som innehåller anslutningar som kan användas av olika grupper av klienter. Detta skulle vara användbart om anslutningar öppnas på ett sätt som binder dem till vissa säkerhetsroller, till exempel när anslutningarna öppnas med viss specifik autentisering i databasen, vilket gör dem icke återanvändbara i det allmänna fallet.

För att göra detta kan du skriva en enda generisk komponent som förlitar sig på objektkonstruktorsträngar med hjälp av IObjectConstructoch kompilera om den för att skapa flera anpassningsbara komponenter var och en med ett distinkt CLSID. Du kan sedan på ett administrativt sätt skräddarsy varje komponent för att öppna en lämplig anslutning med en konstruktorsträng, konfigurera dem för att vara poolade, och de kommer att underhållas i separata pooler per CLSID.

Du kan ange en konstruktorsträng när en komponent har skrivits specifikt för att identifiera strängen som du anger. Komponenter kan komma åt dessa strängar programmatiskt med hjälp av IObjectConstruct.

Konstruktorsträngar skickas endast in vid skapande av objekt när objektkonstruktionen är administrativt aktiverad. COM+ anropar IObjectConstruct::Construct-metoden som den implementerar. I den metoden kan du komma åt konstruktorsträngen med hjälp av IObjectConstructString. Tomma strängar kan vara giltiga poster.

COM+ -objektpooler

Ange en objektkonstruktorsträng för en komponent

Använda en objektkonstruktorsträng för att konstruera en komponent