Symbols
- .NET
- accessing the COM+
Catalog, Programming the COM+ Catalog
- attribute-based
programming, Attribute-based programming
- COM and Windows
interoperability with, COM and Windows Interoperability
- components
- creating, Developing .NET Components, Using Interfaces
- inheritance, Component inheritance
- simplified
deployment of, Simplified Component Deployment
- simplified
development of, Simplified Component Development, Component-oriented security
- visibility
of, Component visibility
- interfaces
in, Using Interfaces
- introduction
to, Introduction to .NET, Assembly Files
- namespaces
in, Using Namespaces
- nondeterministic
finalization, Nondeterministic Finalization
- nonserviced
components and transactions, COM+ Transactions and Nonserviced Components, ASP.NET and transactions
- object life cycle
management, simplified, Simplified Object Life Cycle Management
- programming
languages, .NET Programming Languages
- role-based security
in, COM+ Security
- security,
component-oriented, Component-oriented security
- writing client-side
code, Writing .NET Client-Side Code
- writing managed clients
for queued components, A Queued Component’s Managed Client
- .NET assemblies, Packaging .NET Components: Assemblies
- adding roles
to COM+ applications, Adding Roles to an Application
- ApplicationID attribute
and, The ApplicationID Attribute
- composing, Composing Assemblies, Assembly Files
- Description attribute
and, The Description Attribute
- files
in, Assembly Files
- manifests, Packaging .NET Components: Assemblies, Assembly Manifest
- mapping
to COM+ applications, .NET Assemblies and COM+ Applications
- metadata
in, Packaging .NET Components: Assemblies, Assembly Metadata
- registering, Registering Assemblies, The ProgId Attribute, Adding Roles to an Application, COM+ Loosely Coupled Events
- dynamically, Dynamic Registration
- manually, Manual Registration
- programmatically, Programmatic Registration
- relationship
between assembly version and COM+ components, Understanding Serviced Component Versions
- sharing, Sharing Assemblies
- signing, Registering Assemblies
- .NET
attributes
- ApplicationActivation, Application Activation Type
- applying to .NET serviced
components, Developing Serviced Components
- configuring
serviced components, Configuring Serviced Components
- context-related, COM+ Context Attributes
- specifying application
IDs, The ApplicationID Attribute
- .NET
clients and dynamic registration of assemblies, Dynamic Registration
- .NET serviced
components, .NET Serviced Components, Summary
- application names,
specifying, Specifying Application Name
- applying special attributes
to, Developing Serviced Components
- AutoComplete attribute
and, The AutoComplete Attribute
- configuring, Developing Serviced Components , Configuring Serviced Components
- designating as event
classes, COM+ Loosely Coupled Events
- disposing of
objects, COM+ Object Pooling
- IObjectControl interface
and, Using IObjectControl
- JITA (Just-in-Time Activation)
and, COM+ Just-in-Time Activation, IObjectControl, JITA, and Deterministic Finalization
- loosely coupled events (LCE)
and, COM+ Loosely Coupled Events, COM+ Loosely Coupled Events
- mapping assemblies to COM+
applications, .NET Assemblies and COM+ Applications
- object pooling
and, COM+ Object Pooling, COM+ Object Pooling
- private components in COM+
1.5, Private Components
- queued components
and, COM+ Queued Components, The MessageMover class
- registering
assemblies, Registering Assemblies, The ProgId Attribute, Adding Roles to an Application, COM+ Loosely Coupled Events
- dynamically, Dynamic Registration
- manually, Manual Registration
- programmatically, Programmatic Registration
- security
and, COM+ Security, Verifying Caller’s Role Membership
- specifying CLSIDs with Guid
attribute, The Guid Attribute
- specifying names with ProgId
attribute, The ProgId Attribute
- synchronization
and, COM+ Synchronization
- transactional isolation levels in COM+
1.5, Configurable Transaction Isolation Level
- transactions
and, COM+ Transactions, The TransactionContext Object
- voting on
transactions, Voting on the Transaction, Voting on the Transaction
- vs. managed
components, .NET Serviced Components
A
- aborting
transactions, The Atomic Property, Voting on a Transaction, Voting on the Transaction, Voting on the Transaction
- access checks
- COM+ events and role-based
security, Subscribers and Role-Based Security
- disabling/enabling
component-level, Component-Level Access Checks
- library
applications and, Securing a Library Application
- server
applications and, Setting the Security Level
- access
control, Authorization
- (see also authorization)
- disabling
application-level authorization, Disabling Application-Level Authorization
- role-based security
and, Role-Based Security, Component-Level Access Checks
- AccessChecksLevel
property, Configuring Application-Level Security Settings
- AccessChecksLevelOption
enum parameter, Configuring Application-Level Security Settings
- ACID
properties, Transaction Properties, The Durable Property
- Activate(), Object Pooling and Context, Using IObjectControl
- JITA
(Just-in-Time Activation) and, JITA and IObjectControl
- transactions
and pooled objects, Transactions and Object Pooling, Transactions and Object Pooling
- activation
mode, COM+ Application Types, Just-in-Time Activation
- (see also JITA)
- changing, Changing Application Activation Mode
- instance management, Instance Management and Scaling
- activation
type of applications, specifying, Application Activation Type
- ActivationOption
parameter, Application Activation Type
- Active
Directory, Application Partitioning
- activities, Activities: The COM+ Innovation, COM+ Synchronization
- contexts
and, Activities and Contexts
- JITA
and, Activities and JITA
- synchronization
settings and, COM+ Configuration Settings, Required Versus Requires New
- tracing, Tracing Activities
- transactions
and, Activities and Transactions
- activity
IDs, Activities and Contexts
- retrieving, The Context Object
- activity-based
synchronization, COM+ Concurrency Model
- Add(), The ICatalogCollection Interface
- AddFilter(), Transient subscriber-side filtering
- advising objects
(sink interfaces), Classic COM Events
- affinity
- logical
thread, Activities: The COM+ Innovation
- object-to-thread, Apartments: The Classic COM Solution
- aggregation and object
pooling, Pooled Object Design Requirements, Pooled Objects and Aggregation
- aliasing components in COM+
1.5, Aliasing Components
- AllowInprocSubscribers
property (event class attribute), COM+ Loosely Coupled Events
- Anonymous impersonation
level, Impersonation = Anonymous, Configuring Application-Level Security Settings
- Any isolation
level, Configurable Transaction Isolation Level
- apartments, Encapsulation via Marshaling in COM, The Neutral Threaded Apartment
- (see also MTA; NTA; STA)
- activation
policy for, The NTA and Other COM Threading Models
- hosting
nonconfigured components, Assigning Objects to Contexts
- lightweight
proxies and, Lightweight Proxies
- problems
with, Apartments: The Classic COM Solution
- threading models
for, Pooled Object Design Requirements, Apartments: The Classic COM Solution
- Application
Export Wizard, Deploying COM+ Applications , Deploying and Administering Role-Based Security
- Application
IDs, Creating a COM+ Application
- Application Install
Wizard, Configuring the Server Application Identity
- application-level
authorization, disabling/enabling, Enabling Authorization, Securing a Library Application, Disabling Application-Level Authorization, Configuring Application-Level Security Settings, Configuring Application-Level Security Settings
- ApplicationAccessControl
attribute, Configuring Application-Level Security Settings, Configuring Application-Level Security Settings
- ApplicationActivation
attributes, Application Activation Type
- ApplicationID
attribute, The ApplicationID Attribute
- ApplicationName
attribute, Specifying Application Name
- ApplicationQueuing
attribute, COM+ Queued Components
- applications (see COM+
applications)
- Applications
collection, The Catalog Programming Model, Catalog Structure
- accessing, The Catalog Root Object
- creating catalog
objects, Programming the COM+ Catalog
- /appname: switch, Manual Registration
- architecture, COM+
transactions, COM+ Transactions Architecture, COM+ Transactions Architecture Benefits
- ASP.NET and
transactions, ASP.NET and transactions
- assemblies (see .NET
assemblies)
- AsyncCallback
class, COM+ Queued Components
- asynchronous
COM+ (see queued components)
- asynchronous events, Asynchronous Events
- asynchronous vs. synchronous
components, Synchronous Versus Asynchronous Components, Changes in Workflow
- ATL
7.0
- generating
- classic COM
components, Building a COM Component
- type
libraries, Supplying the Event Class Definition
- object pooling design
requirements, Pooled Object Design Requirements
- queuing
attribute, Designing Queued Component Interfaces
- transaction support for
projects, Transaction Support IDL Extension
- atomicity (transaction
property), The Atomic Property
- enforcing with two-phase commit
protocol, The Two-Phase Commit Protocol
- attributes (see .NET
attributes)
- authentication, Authentication
- application-level,
enabling/disabling, Configuring Application-Level Security Settings, Configuring Application-Level Security Settings
- IClientSecurity
interface and, Programmatic Client-Side Security
- setting
correct level of, Deciding on the authentication level
- setting
levels for
- library
applications, Securing a Library Application
- queued
calls, Queued Calls Authentication
- server
applications, Setting the Authentication Level, Client authentication level compatibility
- vs.
authorization, Authorization
- Authentication
property, Configuring Application-Level Security Settings
- AuthenticationOption
enum parameter, Configuring Application-Level Security Settings
- authorization, Authorization
- (see also access control)
- application-level,
disabling/enabling, Enabling Authorization, Securing a Library Application, Disabling Application-Level Authorization, Configuring Application-Level Security Settings, Configuring Application-Level Security Settings
- enabling
for
- library
applications, Securing a Library Application
- server
applications, Enabling Authorization
- problems with
IsCallerInRole(), IsCallerInRole( ) Returns TRUE When Security Is Not Enabled
- auto-deactivating methods, Method Auto-Deactivation, COM+ Just-in-Time Activation
- AutoComplete attribute
and, The AutoComplete Attribute
- logbook components
and, How Does the Logbook Work?
- auto-enlisting
resources, Resource Managers
- MSMQ
and queued components, MSMQ Participates in Transactions, Queued Components and Transactions, Queued Components and Transactions
- not
possible with transactions and pooled
objects, Transactions and Object Pooling
- auto-retry mechanism and queued
components, Auto-Retry Mechanism
- AutoComplete
attribute, The AutoComplete Attribute
- automation-compliant
interfaces, COM+ Configured Components
C
- /c switch, Manual Registration
- C++ and
CLR-compliance, .NET Programming Languages
- C++ clients and queued
components, Invoking Queued Components on the Client Side
- Call authentication
level, Authentication = Call, Configuring Application-Level Security Settings
- call objects, The Call Object
- verifying
callerÕs role programmatically, Programmatic Role-Based Security, Verifying Caller’s Role Membership
- caller identity,
authenticating, Authentication, Setting the Authentication Level, Client authentication level compatibility
- CanBePooled(), Object Pooling and Context
- JITA
(Just-in-Time Activation) and, JITA and IObjectControl
- logbook
components
and, How Does the Logbook Work?
- overriding
ServicedComponent implementation of
IObjectControl, Using IObjectControl
- transactions
and pooled objects, Transactions and Object Pooling, Transactions and Object Pooling
- catalog
collections, The Catalog Programming Model
- (see also top-level collections)
- accessing
remote, Features of COMAdminCatalog
- committing/discarding changes
to, Saving Changes
- creating catalog
objects, Programming the COM+ Catalog
- retrieving, The ICatalogCollection Interface
- catalog
objects, The Catalog Programming Model, The Catalog Programming Model
- accessing related
collections, Using the Catalog Interfaces, Using the Catalog Interfaces
- adding, The ICatalogCollection Interface
- collections
associated with, Catalog Structure
- disabling/enabling
applications, Disabling Applications and Components
- ICatalogObject interface
and, The ICatalogObject Interface
- named
properties, The ICatalogObject Interface
- interdependencies
of, Object Properties Interdependencies
- removing, The ICatalogCollection Interface
- causality IDs/causality
locks, Activities: The COM+ Innovation, Causality-Based Lock, COM+ Synchronization
- CEventLogger
class, How Does the Logbook Work?
- CGenericFilter helper
class, The CGenericFilter helper class, The CGenericFilter helper class
- CGlobalInterfaceTable
wrapper class, The GIT Wrapper Class
- challenge/response
protocol, Authentication, Authentication = Connect
- class-IDs (see CLSIDs)
- client
types, Client Types, Scaling Up with Internet Clients
- client workflow
and queued components, Changes in Workflow
- clients
- .NET and dynamic
registration of assemblies, Dynamic Registration
- authenticating
queued calls, Queued Calls Authentication
- avoid passing subroot
objects to, Passing Subroot Objects to Clients
- creating
queued components, Invoking Queued Components on the Client Side, Invoking Queued Components on the Client Side, A Queued Component’s Managed Client
- disconnected
work, Disconnected Work
- exception
handling on client side, Client-side exception handling
- IDisposable
interface and, COM+ Object Pooling
- impersonating, Server-Side Impersonation, Server-Side Impersonation
- nontransactional, Nontransactional Clients, Nontransactional Clients
- TransactionContext
class and, The TransactionContext Object
- receiving
events from objects in classic COM, Classic COM Events
- security for queued
components, Queued Components Security
- setting
security attributes, Programmatic Client-Side Security
- using
response objects, Receiving Output from a Queued Component, Receiving Output from a Queued Component
- writing .NET
client-side code, Writing .NET Client-Side Code
- writing test
code, Writing a Test Client
- cloaking, Impersonation = Delegate
- cloning the COM+
Catalog, Features of COMAdminCatalog
- CLR (Common Language Runtime)
environment, Introduction to .NET
- exception
classes and, .NET Programming Languages
- unreachable objects and the
garbage collector, Simplified Object Life Cycle Management
- CLSIDs
(class-IDs)
- generating for serviced
components, Understanding Serviced Component Versions
- specifying using Guid
attribute, The Guid Attribute
- CLSID_CatalogWrapper, Adding a Transient Subscription
- CLSID_COMAdminCatalog
- adding
transient subscriptions, Adding a Transient Subscription
- creating
root object with, The Catalog Root Object
- CLSID_MessageMover, The MessageMover class
- CLSID_StdGlobalInterfaceTable, The Global Interface Table
- CoClass definitions for event
classes, Supplying the Event Class Definition, Supplying the Event Class Definition
- CoCopyProxy(), Programmatic Client-Side Security
- CoCreateInstance()
- assigning
objects to contexts, Assigning Objects to Contexts
- moving
messages between queues, The MessageMover class
- new
moniker, alternative to, Invoking Queued Components on the Client Side
- object
pooling and, Configuring Pool Parameters
- CoGetCallContext(), The Call Object , Programmatic Role-Based Security, Server-Side Impersonation
- CoGetInterfaceAndReleaseStream(), Cross-Context Manual Marshaling
- CoGetObject(), Invoking Queued Components on the Client Side
- CoGetObjectContext(), The Context Object, Using JITA, Tracing Activities
- CoImpersonateClient(), Server-Side Impersonation
- CoInitializeSecurity(), Calling CoInitializeSecurity( )
- collection
names, The Catalog Programming Model
- COM components
- adding to COM+
applications, Adding a Component to a COM+ Application
- building, Building a COM Component
- encapsulation via
marshaling, Encapsulation via Marshaling in COM, Encapsulation via Marshaling in COM
- passing in
as method parameters, Designing Queued Component Interfaces
- vs. .NET
framework, COM+ Component Services
- COM events, Classic COM Events, Classic COM Events
- COM interface types, COM+ Configured Components
- COM+ 1.5, COM+ Component Services, COM+ 1.5, Summary
- applications
- disabling, Disabling Applications and Components
- memory
dumps, configuring, Application Dump
- partitioning, Application Partitioning, Application Partitioning
- pausing, Pausing Applications
- pooling, Application pooling
- recycling, Application Recycling
- shutting
down processes, Application Recycling
- Catalog root object, Legacy Components
- components
- aliasing, Aliasing Components
- disabling, Disabling Applications and Components
- enabling, Disabling Applications and Components
- context
activation setting improvements, Improved Context Activation Setting
- context
objects and partition properties, Application Partitioning
- ICOMAdminCatalog2
interface and, Legacy Components
- icons of application types,
assigning, Improved User Interface Usability
- legacy
applications
- cannot be
disabled, Disabling Applications and Components
- managing, Legacy Applications
- legacy
components
- disabling, Disabling Applications and Components
- managing, Legacy Components
- private
components, Private Components
- queuing support
improvements, Improved Queuing Support
- recycling
parameters, configuring programmatically, Programmatic Recycling
- server applications,
configuring to run as system service, Service Activation Type
- transaction isolation
in, The Isolated Property
- transaction isolation levels,
configuring, Configurable Transaction Isolation Level, Configurable Transaction Isolation Level
- user interface
usability, Improved User Interface Usability
- web services
support, Web Services in COM+ 1.5
- COM+ Admin type library, Programming the COM+ Catalog
- COM+
applications, The Component Services Explorer
- activating
listeners for, Application Configuration
- activation type,
specifying, Application Activation Type
- adding components
to, Adding a Component to a COM+ Application, Adding an Event Class
- administrators
and
- queued component
exceptions, The MessageMover class
- role-based
security, Deploying and Administering Role-Based Security
- application IDs,
specifying, The ApplicationID Attribute
- application
types, COM+ Application Types
- configuring, Configuring COM+ Applications, Idle Time Management
- configuring queued component
hosting, Application Configuration, COM+ Queued Components
- creating, Creating a COM+ Application, Creating a COM+ Application
- debugging, Debugging COM+ Applications
- deploying, Deploying COM+ Applications , Summary
- disabling changes to
settings, Disabling Changes to the Application Configuration
- enabling queuing
for, Handling Poison Calls
- installing/uninstalling
exported, Installing and Uninstalling an Exported Application
- launching options
for, The Listener
- legacy
applications in COM+ 1.5, Legacy Applications, Legacy Components
- mapping .NET assemblies
to, .NET Assemblies and COM+ Applications
- names,
specifying, Specifying Application Name
- object
pooling and, Object Pooling
- physical
vs. logical packaging, Applications, DLLs, and Components
- proxy, Proxy COM+ Applications
- roles, adding
to, Configuring Role-Based Security, Adding Roles to an Application
- security
checked at boundaries, Security Boundaries
- surrogate
processes, COM+ Surrogate Processes
- COM+ Catalog, COM+ Component Services
- accessing
from within .NET components, Programming the COM+ Catalog
- Component
Services Explorer and, The Catalog Programming Model
- Dead Letter Queue Monitor (DLQM)
and, Client-side exception handling
- examples of using
interfaces, Using the Catalog Interfaces, Using the Catalog Interfaces
- interacting with
the, Interacting with the Catalog, Object Properties Interdependencies
- interdependencies of object
properties, Object Properties Interdependencies
- interfaces,
limitations of, Adding a Transient Subscription
- programming
the,
Programming the COM+ Catalog, Summary
- registering transient subscriptions
with, Adding a Transient Subscription, Adding a Transient Subscription
- RegSvcs adding
serviced components to, Manual Registration
- replicating, Features of COMAdminCatalog
- root
object (see root object of COM+
Catalog)
- structure
of, Catalog Structure, Catalog Structure
- transactions
and, The COM+ Catalog and Transactions
- transient subscriptions
and, Adding a Transient Subscription
- COM+ component
services, COM+ Component Services, COM+ Component Services
- configured
components (see configured components,
COM+)
- encapsulation via
interception, Encapsulation via Interception in COM+, Assigning Objects to Contexts
- COM+
context, COM+ Context , Summary
- accessing, Accessing the COM+ Context
- EventTrackingEnabled attribute
and, COM+ Context Attributes
- MustRunInClientContext
attribute, COM+ Context Attributes
- COM+ events
service (see events service)
- COM+
logbooks (see logbooks)
- COM+
security (see security)
- COM+
transactions (see transactions)
- COMAdmin
namespace, Programming the COM+ Catalog
- COMAdmin.COMAdminCatalog,
creating root object with, The Catalog Root Object
- COMAdminActivationInproc
enum value, The ICatalogObject Interface
- COMAdminActivationLocal
enum value, The ICatalogObject Interface
- CoMarshalInterface(), Cross-Context Manual Marshaling
- global
interface table (GIT) and, The Global Interface Table
- CoMarshalInterThreadInterfaceInStream(), Cross-Context Manual Marshaling
- command-line
switches, Manual Registration
- Commit(), Nontransactional Clients
- committing
- changes to catalog
collections, Saving Changes
- transactions, The Atomic Property
- Common Language
Runtime environment (see CLR environment)
- compensating
transactions, Compensating Transactions
- Component Install
Wizard, Adding a Component to a COM+ Application, Adding an Event Class, Supplying the Event Class Definition
- Component Services
Explorer, The Component Services Explorer
- adding event classes
to, Adding an Event Class
- COM+ Catalog
and, The Catalog Programming Model
- configuring, Component Services Explorer Configuration
- access
control, Authorization
- transactions, Configuring Transactions, Transaction Support IDL Extension
- deactivating objects with
JITA, Using JITA, COM+ Just-in-Time Activation
- enabling construction string
support, COM+ Constructor String
- importing
- components
into, Designing Queued Component Interfaces
- components
with IDL extensions, Transaction Support IDL Extension
- logbooks,
configuring, Configuring the Logbook, Configuring the Logbook
- registering components
with, Dynamic Registration
- requesting JITA objects in
callerÕs context, Requesting a JITA Object in the Caller’s Context
- resolving in-doubt
transactions, In-Doubt Transactions
- setting global
configurations, Machine-Wide Security Settings
- tracing
transactions, Tracing Transactions
- tracking instance
activity, Tracking Instance Activity
- vs. using
attributes, Developing Serviced Components
- component-level
- disabling/enabling
access checks at, Component-Level Access Checks
- transaction
timeouts, Transaction Execution Time
- ComponentAccessControl
attribute, Component-Level Access Checks
- Components
collection, Catalog Structure, The ICatalogCollection Interface
- COMREPL
utility, Features of COMAdminCatalog
- COMSVCSLib
namespace, The TransactionContext Object, Queued component exception class
- concurrency
model
- classic COM, Object-Oriented Programming and Multiple Threads, Summary
- COM+, Activities: The COM+ Innovation, Required Versus Requires New
- Concurrency tab, COM+ Configuration Settings
- ConcurrentApps
property, Application pooling
- configured components,
COM+, COM+ Configured Components
- aliasing in COM+ 1.5, Aliasing Components
- combining JITA with object
pooling, Combining JITA with Object Pooling
- instance management services
and, Instance Management and Scaling
- tracking instance
activity, Tracking Instance Activity
- promoting legacy components
to, Legacy Components
- relationship between assembly version
and, Understanding Serviced Component Versions
- surrogate processes
and, COM+ Surrogate Processes
- transactional objects
and, Transactions and JITA
- Connect authentication
level, Authentication = Connect, Configuring Application-Level Security Settings
- Connect(), Features of COMAdminCatalog
- connection
points, Classic COM Events
- establishing, Classic COM Events
- consistency (transaction
property), The Consistent Property
- compensating transactions
and, Compensating Transactions
- enforcing, Transactional Object Life Cycle
- jeopardized by nontransactional
clients, Nontransactional Clients
- setting consistency
bit, Voting on a Transaction
- threatened by nontransactional
objects, Transaction Disabled
- consistency
bit
- auto-deactivating
methods, The AutoComplete Attribute
- SetComplete()
and, The IObjectContext Interface
- setting, Voting on a Transaction
- voting on
transactions without exception
handling, Voting on the Transaction
- Construct(), Object Constructor String
- logbook
components and, How Does the Logbook Work?
- overriding
by serviced components, COM+ Constructor String
- ConstructionEnabled
attribute, COM+ Constructor String
- constructor
string objects, Object Constructor String
- .NET serviced components
and, COM+ Constructor String
- logbook components
and, How Does the Logbook Work?
- context activation settings, improvements in COM+
1.5, Improved Context Activation Setting
- context IDs.
retrieving, The Context Object
- context
objects, The Context Object, The Context Object
- accessing
with ContextUtil class, Accessing the COM+ Context
- disposing
of, COM+ Object Pooling
- IObjectContextInfo2 interface (COM+ 1.5)
and, Application Partitioning
- IServerSecurity interface
and, Server-Side Impersonation
- security
boundaries and, Security Boundaries
- setting
consistency bit, Voting on a Transaction, Voting on the Transaction
- context-specific initialization and
objects, Object Pooling and Context, JITA and IObjectControl, Using IObjectControl
- contexts
- activities
and, Activities and Contexts
- assigning objects
to, Assigning Objects to Contexts
- placing
pooled objects in, Object Pooling and Context, Object Pooling and Context
- transactions
and, Transactions and Context, Transactions and Context
- ContextUtil helper
class, Accessing the COM+ Context
- voting on
transactions, Voting on the Transaction, Web services and transactions
- CONTEXT_E_ABORT
error code, Nontransactional Clients
- CONTEXT_E_ABORTING
error code, Voting on a Transaction
- CONTEXT_E_NOTRANSACTION
error code, Voting on a Transaction
- CONTEXT_E_OLDREF
error code, Passing Subroot Objects to Clients
- copying components in COM+
1.5, Aliasing Components
- CopyProxy(), Programmatic Client-Side Security
- CoRevertToSelf(), Server-Side Impersonation
- CoSetProxyBlanket(), Programmatic Client-Side Security
- CoUnmarshalInterface(), Cross-Context Manual Marshaling
- Count property of
ICatalogCollection interface, The ICatalogCollection Interface
- CO_E_ACTIVATIONFAILED_TIMEOUT
error code, Configuring Pool Parameters
- CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT
error code, Requesting a JITA Object in the Caller’s Context
- CO_E_INITIALIZATIONFAILED
error code, JITA and IObjectControl
- CO_E_ISOLEVELMISMATCH
error code, Configurable Transaction Isolation Level
- CreateInstance(), Nontransactional Clients
- CreateObject()
- moving
messages between queues, The MessageMover class
- new
moniker, alternative to, Invoking Queued Components on the Client Side
- CreateServiceForApplication(), Service Activation Type
- CreationTimeout
property (ObjectPooling attribute), COM+ Object Pooling
- criteria, filtering (see filtering,
criteria)
- cross-context manual
marshaling, Cross-Context Manual Marshaling, The GIT Wrapper Class
- CurrentCall
property (SecurityCallContext class), Verifying Caller’s Role Membership
- custom
interfaces, COM+ Configured Components
- custom subscription properties,
defining, Custom subscription properties
D
- data integrity,
authenticating, Authentication, Setting the Authentication Level, Client authentication level compatibility
- DCOM
(Distributed COM), COM+ Component Services
- DCOM
Config folder (COM+ 1.5), Legacy Applications
- DCOMCNFG, managing legacy
components with, Legacy Applications and Components
- DCOMCNFG.EXE
utility, Machine-Wide Security Settings
- Deactivate(), Object Pooling and Context
- JITA
(Just-in-Time Activation) and, JITA and IObjectControl
- overriding
ServicedComponent implementation of, IObjectControl, JITA, and Deterministic Finalization
- transactions
and pooled objects, Transactions and Object Pooling, Transactions and Object Pooling
- DeactivateOnReturn
property, COM+ Just-in-Time Activation
- deactivating JITA
objects, Using JITA, Using JITA, Transactions and JITA, COM+ Just-in-Time Activation
- Dead Letter Queue Monitor
(DLQM), Client-side exception handling
- dead queues, Handling Poison Calls
- deadlocks, The Isolated Property
- acquiring resources
and, Acquiring Resources
- multithreaded
apartment objects, Apartments: The Classic COM Solution
- preventing with
transaction timeouts, Transaction Execution Time
- declarative
attributes, COM+ Security
- DECLARE_NOT_AGGREGATABLE(), Pooled Object Design Requirements
- decoupling
components, COM+ Event Service, COM+ Event Model
- asynchronous events
and, Asynchronous Events
- security issues
with, COM+ Events and Security
- Default authentication
level, Configuring Application-Level Security Settings
- default
context of apartments, Assigning Objects to Contexts
- Default impersonation
level, Configuring Application-Level Security Settings
- Default Properties
tab, Machine-Wide Security Settings
- Default Security tab, Machine-Wide Security Settings
- Delegate impersonation
level, Impersonation = Delegate, Configuring Application-Level Security Settings
- DeleteServiceForApplication(), Service Activation Type
- delivering events, Delivering Events
- deploying COM+
applications, Deploying COM+ Applications , Summary
- deploying role-based
security, Deploying and Administering Role-Based Security
- Description
attribute, The Description Attribute
- Description
property (SecurityRole
attribute), Adding Roles to an Application
- designated users, running server
applications as, Configuring the Server Application Identity, Configuring the Server Application Identity
- designing role-based
security, Designing Role-Based Security
- destructors, using instead of Finalize() in
C#, Nondeterministic Finalization
- deterministic finalization, provided by COM+
JITA, IObjectControl, JITA, and Deterministic Finalization
- Disabled synchronization
setting, Synchronization Disabled
- Disabled transaction
support, Transaction Disabled
- Disabled value, COM+ Transactions
- activity-based synchronization
and, COM+ Synchronization
- web services and
transactions, Web services and transactions
- disconnected
work
- classic COM event model
and, Classic COM Events
- MSMQ and, Disconnected Work
- not
supported by .NET, COM+ Queued Components
- DisposeObject(), COM+ Object Pooling, IObjectControl, JITA, and Deterministic Finalization, A Queued Component’s Managed Client
- Distributed
COM (DCOM), COM+ Component Services
- distributed COM+ events,
workarounds for allowing, Distributed COM+ Events, Solution 3: COM+ Routing
- Distributed
Transaction Coordinator (see DTC)
- DLLs, Building a COM Component
- .NET assemblies
and, Packaging .NET Components: Assemblies
- adding components to
COM+ applications, Adding a Component to a COM+ Application, Supplying the Event Class Definition
- assembly files
and, Assembly Files
- COM interface types
and, COM+ Configured Components
- installing components in
applications, Applications, DLLs, and Components
- proxy/stub, COM+ Configured Components
- server
applications and, Proxy COM+ Applications
- registering components
in, Supplying the Event Class Definition
- DLQM (Dead Letter
Queue Monitor), Client-side exception handling
- done bit
- auto-deactivating
methods, The AutoComplete Attribute
- JITA
objects and, Using JITA, COM+ Just-in-Time Activation
- SetComplete()
and, The IObjectContext Interface
- SetDeactivateOnReturn()
and, Transactions and JITA
- doomed
flag, Collecting Objects’ Votes
- dot (.) operator, Writing .NET Client-Side Code
- DTC (Distributed
Transaction
Coordinator), The Distributed Transaction Coordinator
- in-doubt
transactions, In-Doubt Transactions
- isolation levels in COM+
1.5, Configurable Transaction Isolation Level
- viewing transaction
IDs, Tracing Transactions
- dual
directive, COM+ Configured Components
- dump files, generating
in COM+ 1.5, Application Dump
- DumpEnabled
property, Application Dump
- DumpOnException
property, Application Dump
- DumpPath
property, Application Dump
- DumpProcess(), Application Dump
- durable
storage
- committing transaction changes
to, The Durable Property
- JITA objects
and, Using JITA
- resource
managers and, Resource Managers
- dynamic association of publisher
filters with event classes, Installing a publisher filter
- dynamic registration of
assemblies, Dynamic Registration
E
- Enabled
property
- ApplicationQueuing
attribute, COM+ Queued Components
- InterfaceQueuing
attribute, Configuring Queued Interfaces
- ObjectPooling
attribute, COM+ Object Pooling
- encapsulation
- via
interception in COM+, Encapsulation via Interception in COM+, Assigning Objects to Contexts
- via
marshaling in COM, Encapsulation via Marshaling in COM, Encapsulation via Marshaling in COM
- EndInvoke(), COM+ Queued Components
- EndTransaction(commit/abort), Single Object/Single Resource Transaction
- enlisting
resources, Single Object/Single Resource Transaction, Multiple Objects/Multiple Resources Transaction, Transactions and Object Pooling, Transactions and Object Pooling
- EnlistResource(), Transactions and Object Pooling
- error handling
- .NET serviced
components and, Voting on the Transaction
- events service
and, Error Handling
- queued components
and, Queued Component Error Handling, The MessageMover class, Queued Component Error Handling
- response
objects and, Receiving Output from a Queued Component
- ErrorInfo
collection, Catalog Structure
- event
classes, The Event Class, Event Class Interface Design Guidelines
- adding, Adding an Event Class
- adding transactions
to, COM+ Events and Transactions, Transient Subscribers and Transactions
- associating publisher filters
with, Installing a publisher filter
- dynamically, Installing a publisher filter
- statically, Static association of a publisher filter with an event class
- copying
components in COM+ 1.5, Aliasing Components
- designating serviced components
as, COM+ Loosely Coupled Events
- distributed
events workaround and, Solution 1: One Machine for All the Subscribers and Event Classes
- generating
skeleton implementation, Supplying the Event Class Definition
- implementing, Supplying the Event Class Definition, Supplying the Event Class Definition
- interface
design guidelines for, Event Class Interface Design Guidelines
- logbook
components, Configuring the Logbook
- machine-specific, Solution 2: Machine-Specific Event Classes
- role-based
security and, The Event Class and Role-Based Security
- type libraries
and, Supplying the Event Class Definition
- event
filtering, Event Filtering, Transient subscriber-side filtering
- event notification, COM+ Component Services
- EventClass
attribute, COM+ Loosely Coupled Events
- events
service
- CGenericFilter helper class
and, The CGenericFilter helper class, The CGenericFilter helper class
- for classic
COM, Classic COM Events, Classic COM Events
- for
COM+, COM+ Event Model, Summary
- controlling publishing
order, Publishing Order
- decoupling
components, COM+ Event Service, COM+ Event Model
- asynchronous events
and, Asynchronous Events
- security issues
with, COM+ Events and Security
- delivering events, Delivering Events
- error
handling for, Error Handling
- EventTrackingEnabled attribute
and, COM+ Context Attributes
- limitations
- for distributed
events, Distributed COM+ Events, Solution 3: COM+ Routing, COM+ Events Limitation
- on number of
subscribers, COM+ Events Limitation
- on rate of event
publishing, COM+ Events Limitation
- logbooks
and, How Does the Logbook Work?, How Does the Logbook Work?
- security
and, COM+ Events and Security
- transactions and, COM+ Events and Transactions, Transient Subscribers and Transactions
- workarounds for allowing distributed
events, Distributed COM+ Events, Solution 3: COM+ Routing
- EventTrackingEnabled
attribute, COM+ Context Attributes
- EVENT_E_ALL_SUBSCRIBERS_FAILED
error code, Error Handling
- EVENT_S_NOSUBSCRIBERS
error code, Error Handling
- EVENT_S_SOME_SUBSCRIBERS_FAILED
error code, Error Handling
- exception classes for queued
components, Queued Component Exception Classes, The MessageMover class, Queued component exception class
- exception
handling
- .NET
serviced components and, Voting on the Transaction
- client-side, Client-side exception handling
- server-side, Server-side exception handling
- ExceptionClass
attribute, Queued component exception class
- execution time of
transactions, Transaction Execution Time
- E_ACCESSDENIED
error code, Authorization
- E_NOINTERFACE
error code, Object Constructor String, IDispatch Considerations
F
- /fc
switch, Manual Registration
- FilterCriteria
property, Transient subscriber-side filtering
- filtering
- criteria, Implementing a publisher filter
- CGenericFilter
implementation and, The CGenericFilter helper class
- subscriber-side
filtering and, Subscriber-Side Filtering, Transient subscriber-side filtering
- events, Event Filtering, Transient subscriber-side filtering
- publisher (see publisher
filtering)
- subscriber-side, Subscriber-Side Filtering, Transient subscriber-side filtering
- persistent, Persistent subscriber-side filtering
- transient, Transient subscriber-side filtering
- FinalClientRetry(), Queued Component Exception Classes
- Finalize(), IObjectControl, JITA, and Deterministic Finalization
- use
destructors instead in C#, Nondeterministic Finalization
- FinalServerRetry(), Queued Component Exception Classes
- ÒFire in parallelÓ
checkbox, Serial Versus Parallel Publishing
- FireInParallel
property (EventClass attribute), COM+ Loosely Coupled Events
- firewalls and rich clients/Internet
clients, Client Types
- forms, transaction support
for, ASP.NET and transactions
G
- GAC (global assembly cache), installing serviced
component assemblies in, Registering Assemblies
- garbage
collector, Simplified Object Life Cycle Management
- GetActivityId(), Tracing Activities
- GetCollection(), The Catalog Root Object, The ICatalogCollection Interface
- adding
transient subscriptions, Adding a Transient Subscription
- GetInterfaceFromGlobal(), The Global Interface Table
- GetObject(), Invoking Queued Components on the Client Side
- GetPublisherProperty(), Custom subscription properties
- GetSubscriptions(), Implementing a publisher filter
- GetTransaction(), Transactions and Context
- GetTransactionId(), Transactions and Context, Transactions and Object Pooling, Transactions and Object Pooling
- tracing
transactions, Tracing Transactions
- GIT (see Global Interface
Table)
- global assembly cache (GAC),
installing serviced component assemblies in, Registering Assemblies
- Global Interface Table
(GIT), The Global Interface Table , The GIT Wrapper Class
- manually marshalling objects outside the
NTA, The NTA and Other COM Threading Models
- pooled object data members
and, Failing to Release Pooled Object Data Members
- global transaction
timeouts, Transaction Execution Time
- Guid
attribute, The Guid Attribute
I
- ICatalogCollection
interface, The Catalog Programming Model, The ICatalogCollection Interface
- ICatalogObject
interface, The Catalog Programming Model, The ICatalogObject Interface
- adding transient
subscriptions, Adding a Transient Subscription
- IClientSecurity
interface, Programmatic Client-Side Security
- ICOMAdminCatalog
interface, The Catalog Programming Model, Features of COMAdminCatalog, Features of COMAdminCatalog
- root object
and, The Catalog Root Object
- ICOMAdminCatalog2
interface (COM+ 1.5), Legacy Components
- configuring a service
programmatically, Service Activation Type
- dump files,
generating, Application Dump
- partitions,
managing, Application Partitioning
- pausing/resuming
applications programmatically, Pausing Applications
- IConnectionPoint
interface, Classic COM Events
- IConnectionPointContainer
interface, Classic COM Events
- IContextState
interface, The Context Object
- setting consistency bit
and, Voting on a Transaction
- setting done bit for JITA
objects, Using JITA
- vs. IObjectContext
interface, The IObjectContext Interface
- Identify impersonation
level, Impersonation = Identify, Configuring Application-Level Security Settings
- Identity tab, Configuring the Server Application Identity
- IDispatch() and
queued components, IDispatch Considerations
- IDisposable
interface, COM+ Object Pooling, A Queued Component’s Managed Client
- IDL
extensions
- designing queued component
interfaces, Designing Queued Component Interfaces
- transaction support
and, Transaction Support IDL Extension
- IDL
files
- building COM
components, Building a COM Component
- defining event
classes, Supplying the Event Class Definition
- idle time management
issues, Idle Time Management
- IEnumEventObject
interface, Implementing a publisher filter
- IEventObjectCollection
interface, Implementing a publisher filter
- IEventSubscription
interface, Implementing a publisher filter
- custom properties
and, Custom subscription properties
- IFilterInstaller
interface, Static association of a publisher filter with an event class
- IFireControl
interface, Parameters-based publisher filtering
- IFiringControl
interface, Implementing a publisher filter
- IGlobalInterfaceTable
interface, The Global Interface Table
- (see also Global Interface Table)
- IL (intermediate
language), .NET Programming Languages
- ILogbook
interface, Configuring the Logbook, How Does the Logbook Work?
- IMessage
interface, Writing .NET Client-Side Code
- IMessageMover
interface, The MessageMover class, The MessageMover class
- Impersonate impersonation
level, Impersonation = Impersonate, Configuring Application-Level Security Settings
- ImpersonateClient(), Server-Side Impersonation
- impersonation, Impersonation
- calling
clients, Server-Side Impersonation, Server-Side Impersonation
- IClientSecurity
interface and, Programmatic Client-Side Security
- library
applications and, Securing a Library Application
- scalability
issues with, Server-Side Impersonation
- server-side, Server-Side Impersonation, Server-Side Impersonation
- setting
levels for server applications, Setting the Impersonation Level, Impersonation = Delegate
- Impersonation
property, Configuring Application-Level Security Settings
- ImpersonationLevelOption
enum parameter, Configuring Application-Level Security Settings
- ImportComponentAsLegacy(), Legacy Components
- IMultiInterfaceEventControl
interface, Implementing a publisher filter, Dynamic association of a publisher filter with an event class
- IMultiInterfacePublisherFilter
interface, Implementing a publisher filter
- in-doubt transactions, In-Doubt Transactions
- in-process subscribers, In-Process Subscribers
- loosely coupled events
and, COM+ Loosely Coupled Events
- infinite timeouts, Transaction Execution Time
- inheritance,
component, Component inheritance
- inherited
roles, Configuring Role-Based Security
- Initialize()
and publisher filtering, Implementing a publisher filter
- InstallAssembly(), Programmatic Registration
- instance
management,
COM+ Instance Management, Tracking Instance Activity
- JITA (Just-in-Time
Activation), Just-in-Time Activation, JITA and IObjectControl
- object
pooling, Object Pooling, Object Pooling and Context
- pitfalls
of, COM+ Instance Management Pitfalls, Tracking Instance Activity
- scaling
and, Instance Management and Scaling
- tracking instance
activity, Tracking Instance Activity
- Integrity authentication
level, Configuring Application-Level Security Settings
- interactive users, running server
applications as, Configuring the Server Application Identity, Configuring the Server Application Identity
- interception
- encapsulation
via, Encapsulation via Interception in COM+, Assigning Objects to Contexts
- JITA
(Just-in-Time Activation) and, How JITA Works
- interdependencies of object
properties, Object Properties Interdependencies
- interface
design
- for event
classes, Event Class Interface Design Guidelines
- for queued
components, Designing Queued Component Interfaces, Designing Queued Component Interfaces
- for queued
components, Configuring Queued Interfaces
- for
transaction support, Designing Transactional Interfaces, Designing Transactional Interfaces
- interface types, COM, COM+ Configured Components
- InterfaceQueuing
attribute, Configuring Queued Interfaces
- interfaces in
.NET, Using Interfaces
- InterfacesForComponent
collection, Catalog Structure
- intermediate language
(IL), .NET Programming Languages
- internal
keyword, Component visibility
- internal
objects, Transaction Root
- Internet
clients, Client Types
- scaling
up with, Scaling Up with Internet Clients
- intranet
clients (see rich clients)
- IObjectConstruct
interface, Object Constructor String
- .NET serviced components
and, COM+ Constructor String
- logbook components
and, How Does the Logbook Work?
- IObjectConstructString
interface, Object Constructor String
- logbook components
and, How Does the Logbook Work?
- IObjectContext
interface, Using JITA, Programmatic Role-Based Security
- voting on
transactions, The IObjectContext Interface
- IObjectContextActivity
interface, Tracing Activities
- IObjectContextInfo
interface, The Context Object, The Context Object
- collecting client-side information for
logbooks, How Does the Logbook Work?
- ITransaction interface
and, Transactions and Context
- IObjectContextInfo2
interface (COM+ 1.5), Application Partitioning
- IObjectControl
interface, Object Pooling and Context
- .NET serviced components
and, Using IObjectControl
- JITA (Just-in-Time Activation)
and, JITA and IObjectControl
- transactions and pooled
objects, Transactions and Object Pooling
- IPersistStream
interface, Designing Queued Component Interfaces
- Visual Basic persistable objects
and, Visual Basic Persistable Objects
- IPlaybackControl
interface, Queued Component Exception Classes, Queued component exception class
- IPublisherFilter
interface, Implementing a publisher filter
- IRegistrationHelper
interface, Programmatic Registration
- IsCallerInRole()
- implementing
publisher-side filters, The Event Class and Role-Based Security
- queued
components and, Queued Components and Role-Based Security
- returning
TRUE when security is not enabled, IsCallerInRole( ) Returns TRUE When Security Is Not Enabled
- verifying
caller role membership, Programmatic Role-Based Security, Verifying Caller’s Role Membership
- ISecurityCallContext
interface, The Call Object , Programmatic Role-Based Security, Security Boundaries, Verifying Caller’s Role Membership
- implementing publisher-side
filters, The Event Class and Role-Based Security
- verifying security is
enabled, IsCallerInRole( ) Returns TRUE When Security Is Not Enabled
- IServerSecurity
interface, The Call Object , Server-Side Impersonation
- IsInTransaction(), Transactions and Context, Transactions and Object Pooling
- isolation (transaction
property), The Isolated Property
- enforcing, Transactional Object Life Cycle
- resource managers
and, Resource Managers
- threatened by nontransactional
objects, Transaction Disabled
- isolation levels, configuring for
transactions in COM+ 1.5, Configurable Transaction Isolation Level, Configurable Transaction Isolation Level
- IsProcessDumpSupported(), Application Dump
- IsProcessPaused(), Pausing Applications
- IsPropertyReadOnly(), The ICatalogObject Interface
- IsPropertyWriteOnly(), The ICatalogObject Interface
- IsResourceOK(), Transactions and Object Pooling
- IsSecurityEnabled
property, Verifying Caller’s Role Membership
- IsSecurityEnabled(), IsCallerInRole( ) Returns TRUE When Security Is Not Enabled
- Item property of
ICatalogCollection interface, The ICatalogCollection Interface
- ITransaction
interface, Transactions and Context
- ITransactionContext
interface, Nontransactional Clients
- ITransactionContextEx
interface, Nontransactional Clients
- ITransientSubscription
interface, Adding a Transient Subscription
- subscriber-side filters
and, Transient subscriber-side filtering
J
- JITA (Just-in-Time
Activation), COM+ Component Services, Just-in-Time Activation, JITA and IObjectControl, COM+ Just-in-Time Activation, IObjectControl, JITA, and Deterministic Finalization
- activating/deactivating
objects, Using JITA, Using JITA
- activities
and, Activities and JITA
- context activation settings,
improvements in COM+ 1.5, Improved Context Activation Setting
- deterministic finalization provided
by, IObjectControl, JITA, and Deterministic Finalization
- done bit,
setting, Using JITA
- enabling support for serviced
components, COM+ Just-in-Time Activation, IObjectControl, JITA, and Deterministic Finalization
- IObjectControl
and, JITA and IObjectControl
- logbook components
and, How Does the Logbook Work?
- object pooling
and, Combining JITA with Object Pooling, COM+ Object Pooling, How Does the Logbook Work?
- performance vs.
scalability, Using JITA
- requesting objects in callerÕs
context, Requesting a JITA Object in the Caller’s Context
- transactions
and, Transactions and JITA
- Just-in-Time
Activation (see JITA)
- JustInTimeActivation
attribute, COM+ Just-in-Time Activation
L
- launch
security, Launch Security
- layouts,
transaction, Transactional Object Life Cycle
- LCE (loosely coupled
events), COM+ Event Service
- (see also events service)
- .NET serviced components
and, COM+ Loosely Coupled Events, COM+ Loosely Coupled Events
- asynchronous events
and, Asynchronous Events
- logbooks
and, Configuring the Logbook
- legacy applications
- cannot be disabled in COM+
1.5, Disabling Applications and Components
- managing
under COM+ 1.5, Legacy Applications
- legacy components
- disabling
in COM+ 1.5, Disabling Applications and Components
- managing
under COM+ 1.5, Legacy Components
- Legacy Components folder
(COM+ 1.5), Legacy Components
- LegacyComponents
collection, Legacy Components
- LegacyServers
catalog collection (COM+ 1.5), Legacy Applications
- library
applications, Creating a COM+ Application
- activating, COM+ Application Types
- ApplicationAccessControl attribute
and, Configuring Application-Level Security Settings
- ApplicationActivation attribute
and, Application Activation Type
- cannot contain queued
components, Application Configuration
- configuration mechanisms
for, Securing a Library Application
- debugging, Debugging COM+ Applications
- global authentication with no
role-based security, Global Authentication Without Role-Based Security
- impersonation levels
and, Securing a Library Application
- in-process subscribers
and, In-Process Subscribers
- no role-based security or global
authentication, Neither Role-Based Security nor Authentication
- role-based security and global
authentication, Both Role-Based Security and Global Authentication
- role-based security with no global
authentication, Role-Based Security Without Global Authentication
- securing, Securing a Library Application
- surrogate processes
and, COM+ Surrogate Processes
- life cycle of pooled
objects, Pooled Object Life Cycle
- lightweight proxies, Lightweight Proxies
- listener
objects, Queued Components Architecture
- local servers, contained in DCOM Config folder
(COM+ 1.5), Legacy Applications
- location
transparency, Encapsulation via Marshaling in COM
- locks,
causality, Activities: The COM+ Innovation, Causality-Based Lock
- logbook
components
- using Both threading
model, How Does the Logbook Work?
- configured to use
JITA, How Does the Logbook Work?
- object
pooling and, How Does the Logbook Work?
- persistent
subscribers, Configuring the Logbook
- logbooks, The COM+ Logbook, Summary
- collecting
client-side information, How Does the Logbook Work?
- configuring, Configuring the Logbook, Configuring the Logbook
- how
they work, How Does the Logbook Work?, How Does the Logbook Work?
- installing, Using the Logbook
- JITA (Just-in-Time
Activation) and, How Does the Logbook Work?
- object
pooling and, How Does the Logbook Work?, How Does the Logbook Work?
- requirements
of, Logbook Requirements
- LOGERROR()
macro, Using the Logbook
- LOGERROR_AND_RETURN()
macro, Using the Logbook
- LOGEVENT()
macro, Using the Logbook
- implementation of, How Does the Logbook Work?
- logging, macros
for, Using the Logbook, Using the Logbook
- logical thread
affinity, Activities: The COM+ Innovation
- logical vs. physical
packaging, Applications, DLLs, and Components
- LOGMETHOD()
macro, Using the Logbook
- LOG_ENTRY
structure, How Does the Logbook Work?
- loosely coupled events
(LCE), COM+ Event Service
- (see also events
service)
- .NET serviced components
and, COM+ Loosely Coupled Events, COM+ Loosely Coupled Events
- asynchronous events
and, Asynchronous Events
- logbooks and, Configuring the Logbook
M
- machine-specific
- event
classes, Solution 2: Machine-Specific Event Classes
- persistent
subscriptions, Solution 3: COM+ Routing, Solution 3: COM+ Routing
- managed clients, writing for queued
components, A Queued Component’s Managed Client
- managed
vs. serviced components, .NET Serviced Components
- manifests,
assembly, Packaging .NET Components: Assemblies, Assembly Manifest
- manually enlisting
resources, Transactions and Object Pooling, Transactions and Object Pooling
- manually registering
assemblies, Manual Registration
- Marshal
class, A Queued Component’s Managed Client
- marshaling
- cross-context
interception via, Cross-Context Manual Marshaling, The GIT Wrapper Class
- encapsulation
via, Encapsulation via Marshaling in COM, Encapsulation via Marshaling in COM
- type
library, Event Class Interface Design Guidelines
- MaxDumpCount
property, Application Dump
- MaxPoolSize
property (ObjectPooling attribute), COM+ Object Pooling
- MB_DEFAULT_DESKTOP_ONLY
attribute, Configuring the Server Application Identity
- memory
dumps of applications, configuring in COM+
1.5, Application Dump
- memory leaks and application
recycling (COM+ 1.5), Application Recycling
- MessageMover
class, The MessageMover class, The MessageMover class
- messages
- moving between
queues, The MessageMover class, The MessageMover class
- retrying, Handling Poison Calls, Queued Component Error Handling
- metadata in .NET
assemblies, Packaging .NET Components: Assemblies, Assembly Metadata
- method parameters, passing in COM
objects as, Designing Queued Component Interfaces
- methods
- assigning roles
to, Configuring Role-Based Security, Assigning Roles to Component, Interface, and Method
- auto-deactivating, Method Auto-Deactivation, COM+ Just-in-Time Activation
- AutoComplete
attribute and, The AutoComplete Attribute
- logbook
components and, How Does the Logbook Work?
- implementing
on transactional objects, State-Aware Objects
- MethodsForInterface
collection, Catalog Structure
- Microsoft Message
Queue (see MSMQ)
- Microsoft Transaction
Server (MTS), COM+ Component Services
- middle-tier
objects
- role-based security
and, Designing Role-Based Security
- server-side impersonation
and, Server-Side Impersonation
- MinPoolSize
property (ObjectPooling attribute), COM+ Object Pooling
- monikers, Invoking Queued Components on the Client Side, A Queued Component’s Managed Client
- MoveMessages(), The MessageMover class
- MSMQ (Microsoft Message
Queue), COM+ Queued Components
- (see also queued components)
- auto-retry mechanism
and, Auto-Retry Mechanism
- disconnected work
and, Disconnected Work
- domain server installation needed for
adequate security, MSMQ Setup
- installing, Component Services Explorer Configuration
- queued components
and, COM+ Queued Components
- security services
for, Queued Components Security
- supporting asynchronous calls with
COM, COM+ Queued Components
- transfer transactions
and, Queued Components and Transactions, Queued Components and Transactions
- MSMQ Explorer, bringing
up, Application Configuration
- MTA (multithreaded
apartment) model, Pooled Object Design Requirements, Apartments: The Classic COM Solution
- deadlock potential
with, Apartments: The Classic COM Solution
- NTA (neutral threaded apartment)
and, The Neutral Threaded Apartment, COM+ and Threading Model
- MTS (Microsoft
Transaction Server), COM+ Component Services
- mtxattr.h header
file, Designing Queued Component Interfaces
- MultiInterfacePublisherFilterCLSID
property, Static association of a publisher filter with an event class
- multiple threads and
object-oriented programming, Object-Oriented Programming and Multiple Threads, Object-Oriented Programming and Multiple Threads
- multithreaded apartment (MTA)
model, Pooled Object Design Requirements, Apartments: The Classic COM Solution
- deadlock potential
with, Apartments: The Classic COM Solution
- NTA (neutral threaded apartment)
and, The Neutral Threaded Apartment, COM+ and Threading Model
- multitier vs. two-tier
architecture,
COM+ Instance Management
- MustRunInClientContext
attribute, COM+ Context Attributes
N
- named
properties of catalog objects, The ICatalogObject Interface
- comprehensive list
of, Using the Catalog Interfaces
- interdependencies
of, Object Properties Interdependencies
- namespaces in
.NET, Using Namespaces
- .NET
- migrating
to with COM+, COM+ Component Services
- vs. COM
components, COM+ Component Services
- neutral threaded apartment
(NTA) model, Pooled Object Design Requirements, The Neutral Threaded Apartment
- new
moniker, Invoking Queued Components on the Client Side
- New Subscription
Wizard, Adding a Persistent Subscription
- nonconfigured
components, COM+ Configured Components
- nondeterministic finalization in
.NET, Nondeterministic Finalization
- None authentication
level, Authentication = None, Configuring Application-Level Security Settings
- nontransactional
clients, Nontransactional Clients, Nontransactional Clients
- TransactionContext class
and, The TransactionContext Object
- nontransactional
objects
- AutoComplete attribute
and, The AutoComplete Attribute
- vs. transactional
objects, Transaction Disabled
- Not Supported synchronization
setting, Synchronization Not Supported
- Not Supported transaction
support, Transaction Not Supported
- NotSupported value, COM+ Transactions
- activity-based synchronization
and, COM+ Synchronization
- web services and, Web services and transactions
- NTA (neutral
threaded apartment) model, Pooled Object Design Requirements, The Neutral Threaded Apartment
O
- object constructor strings,
specifying, Object Constructor String, COM+ Constructor String, How Does the Logbook Work?
- object constructor, avoiding sensitive
work at, Avoid Sensitive Work at the Object Constructor
- object
identifiers, State-Aware Objects
- object pooling, COM+ Component Services, Object Pooling, Object Pooling and Context
- .NET serviced components
and, COM+ Object Pooling, COM+ Object Pooling
- aggregation
and, Pooled Object Design Requirements
- problems with, Pooled Objects and Aggregation
- configuring parameters
for, Configuring Pool Parameters, Configuring Pool Parameters
- context and, Object Pooling and Context, Object Pooling and Context
- design
requirements, Pooled Object Design Requirements
- DisposeObject()
and, COM+ Object Pooling
- failing
to release data members, Failing to Release Pooled Object Data Members
- JITA (Just-in-Time Activation)
and, Combining JITA with Object Pooling, COM+ Object Pooling, How Does the Logbook Work?
- logbook components
and, How Does the Logbook Work?, How Does the Logbook Work?
- threading models
for, Pooled Object Design Requirements
- transactions and, Transactions and Object Pooling
- object
starvation, Apartments: The Classic COM Solution
- object-oriented
programming
- multiple threads
and, Object-Oriented Programming and Multiple Threads, Object-Oriented Programming and Multiple Threads
- object-to-thread
affinity, Apartments: The Classic COM Solution
- ObjectPooling
attribute, COM+ Object Pooling, COM+ Object Pooling
- objects
- activating/deactivating
with JITA, Using JITA, Using JITA, Transactions and JITA
- assigning to
contexts, Assigning Objects to Contexts
- associating
with causality locks, Activities: The COM+ Innovation, Activities and Contexts
- catalog (see catalog
objects)
- configured
transaction support of, Configuring Transactions, Transaction Support IDL Extension
- context-specific
initialization and, Object Pooling and Context, JITA and IObjectControl
- created
by nontransactional clients, Nontransactional Clients, Nontransactional Clients
- encapsulating
- via
interception in COM+, Encapsulation via Interception in COM+, Assigning Objects to Contexts
- via
marshaling in COM, Encapsulation via Marshaling in COM, Encapsulation via Marshaling in COM
- JITA
(Just-in-Time Activation), Just-in-Time Activation, JITA and IObjectControl
- life cycle
example, Object Life Cycle Example
- NTA
(neutral threaded apartment) model
and, The Neutral Threaded Apartment, COM+ and Threading Model
- state-aware, State-Aware Objects, State-Aware Objects
- synchronization
support for, COM+ Configuration Settings, Required Versus Requires New
- transaction
root, Transaction Root
- transactional vs.
nontransactional, Transaction Disabled
- voting
on transactions, Voting on a Transaction, Voting on a Transaction
- oleautomation
directive, COM+ Configured Components
- OLEView,
managing legacy components with, Legacy Applications and Components
- outgoing parameters, avoiding on
interface methods, Designing Queued Component Interfaces
P
- Packet authentication
level, Authentication = Packet , Configuring Application-Level Security Settings
- Packet Integrity authentication
level, Authentication = Packet Integrity
- Packet Privacy authentication
level, Authentication = Packet Privacy
- Page base
class, ASP.NET and transactions
- parallel vs.
serial publishing, Serial Versus Parallel Publishing
- parameterized constructors, not allowed with
serviced components, Developing Serviced Components
- parameters-based publisher
filtering, Parameters-based publisher filtering
- partitioning
applications, Application Partitioning, Application Partitioning
- PauseProcess(), Pausing Applications
- peak load, handling with queued
components, Workload Buffering
- per-user subscriptions, Per-User Subscriptions
- performance
- logbook
applications and, How Does the Logbook Work?
- server-side
impersonation
and, Server-Side Impersonation
- threading
models, Pooled Object Design Requirements
- vs.
authentication level, Deciding on the authentication level
- vs. scalability
with JITA, Using JITA
- persistent
subscriptions, The Event Class, Subscription Types
- adding, Adding a Persistent Subscription
- logbook
components, Configuring the Logbook
- loosely coupled events
and, COM+ Loosely Coupled Events
- machine-specific, Solution 3: COM+ Routing, Solution 3: COM+ Routing
- queued components
and, Asynchronous Subscribers
- routing solution for distributed
events, Solution 3: COM+ Routing, Solution 3: COM+ Routing
- subscriber-side filtering
and, Persistent subscriber-side filtering
- transactions
and, Persistent Subscribers and Transactions
- physical vs.
logical packaging, Applications, DLLs, and Components
- Platform SDK
documentation, Using the Catalog Interfaces
- player
objects, Queued Components Architecture
- poison
message syndrome, Handling Poison Calls
- pool
parameters, Configuring Pool Parameters
- (see also object
pooling)
- configuring, Configuring Pool Parameters, Configuring Pool Parameters, Application pooling
- ObjectPooling attribute
and, COM+ Object Pooling
- setting
too large a minimum pool size, Too Large a Minimum Pool Size
- Pooling & Recycling tab (COM+
1.5), Application pooling
- pooling applications (COM+
1.5), Application pooling
- Populate(), The ICatalogCollection Interface, Saving Changes
- PrepareToFire(), Implementing a publisher filter
- CGenericFilter
implementation of, The CGenericFilter helper class
- parameters-based
filtering and, Parameters-based publisher filtering
- Privacy
authentication level, Configuring Application-Level Security Settings
- private
components in COM+ 1.5, Private Components
- PrivateComponent
attribute, Private Components
- ProgId attribute, The ProgId Attribute
- programmatic
- registration of
assemblies, Programmatic Registration
- role-based
security, Programmatic Role-Based Security
- programming
languages in .NET, .NET Programming Languages
- PromoteLegacyComponent(), Legacy Components
- properties
page, Creating a COM+ Application
- PropertyInfo
collection, Catalog Structure
- proxies, lightweight, Lightweight Proxies
- proxy applications, Proxy COM+ Applications
- generating
for distributed events workaround, Solution 1: One Machine for All the Subscribers and Event Classes
- proxy/stub
- DLLs, COM+ Configured Components, Proxy COM+ Applications
- encapsulating
objects
- via interception in
COM+, Encapsulation via Interception in COM+, Assigning Objects to Contexts
- via marshaling in
COM, Encapsulation via Marshaling in COM, Apartments: The Classic COM Solution
- propagating
activities across contexts, Activities and Contexts
- public
keyword, Component visibility
- publisher
filtering, Publisher Filtering, Dynamic association of a publisher filter with an event class
- associating with event
classes, Installing a publisher filter
- dynamically, Installing a publisher filter
- statically, Static association of a publisher filter with an event class
- CGenericFilter helper class
and, The CGenericFilter helper class, The CGenericFilter helper class
- defining custom subscription
properties, Custom subscription properties
- filtering criteria
and, Implementing a publisher filter
- implementing, Implementing a publisher filter, Implementing a publisher filter
- parameters-based, Parameters-based publisher filtering
- PublisherProperties
collection, Catalog Structure, Custom subscription properties
- publishers, COM+ Event Model
- asynchronous, Asynchronous Publishing
- controlling
event order, Publishing Order
- event classes
and, The Event Class
- in-process
subscribers and, In-Process Subscribers
- serial vs.
parallel publishing, Serial Versus Parallel Publishing
- subscribers on
multiple other machines and, Solution 2: Machine-Specific Event Classes
- transactions,
taking part in, COM+ Events and Transactions
Q
- QC.MessageMover, The MessageMover class
- QCAuthenticateMsgs
property, Improved Queuing Support
- QCListenerMaxThreads
property, Improved Queuing Support
- queue
moniker, Invoking Queued Components on the Client Side
- asynchronous publishing
and, Asynchronous Publishing
- QUEUEABLE interface
attribute, Designing Queued Component Interfaces
- queued components, COM+ Component Services, Features of COMAdminCatalog, COM+ Queued Components, Summary
- (see also MSMQ)
- .NET serviced components
and, COM+ Queued Components, The MessageMover class
- application startup
and, Queued Component Application Startup
- architecture, Queued Components Architecture, The Listener
- asynchronous events
and, Asynchronous Events
- authentication levels,
setting, Queued Calls Authentication
- benefits
of, Major Benefits of Queued Components, When Should You Use Queued Components?
- changing client
workflow, Changes in Workflow
- changing
transaction semantics, Synchronous Versus Asynchronous Components
- clients, limitations
for, Queued Component Client
- COM+ vs. .NET
mechanisms, COM+ Queued Components
- component
availability with, Component Availability
- configuring
- applications
to host, Application Configuration
- Component
Services Explorer, Component Services Explorer Configuration
- interfaces, Queued Component Interface Configuration, Configuring Queued Interfaces
- designing
interfaces, Designing Queued Component Interfaces, Designing Queued Component Interfaces
- disconnected
work, Disconnected Work
- error handling
for, Queued Component Error Handling, The MessageMover class, Queued Component Error Handling
- exception classes
for, Queued Component Exception Classes, The MessageMover class, Queued component exception class
- IDispatch-derived interfaces
and, IDispatch Considerations
- improvements in COM+
1.5, Improved Queuing Support
- invoking on client
side, Invoking Queued Components on the Client Side, Invoking Queued Components on the Client Side
- monikers
and, Invoking Queued Components on the Client Side, A Queued Component’s Managed Client
- passing in as
parameters, Receiving Output from a Queued Component
- pitfalls, Queued Components Pitfalls, Queued Component Application Startup
- poison
message syndrome and, Handling Poison Calls
- receiving output
from, Receiving Output from a Queued Component, Receiving Output from a Queued Component
- response objects
and, Receiving Output from a Queued Component, Receiving Output from a Queued Component
- role-based security
and, Queued Components and Role-Based Security
- security for, Queued Components Security, Queued Components Security Limitations
- synchronous vs.
asynchronous, Synchronous Versus Asynchronous Components, Changes in Workflow
- transactions
and, Queued Components and Transactions, Queued Components and Transactions
- when to
use, When Should You Use Queued Components?
- writing .NET managed clients
for, A Queued Component’s Managed Client
- QueueListenerEnabled
property, COM+ Queued Components
- Queuing
tab, Application Configuration, Improved Queuing Support
R
- Read Committed isolation
level, Configurable Transaction Isolation Level
- Read Uncommitted
isolation level, Configurable Transaction Isolation Level
- /reconfig switch, Manual Registration
- recorder
objects, Queued Components Architecture
- RecycleActivationLimit
property, Programmatic Recycling
- RecycleCallLimit
property, Programmatic Recycling
- RecycleExpirationTimeout
property, Programmatic Recycling
- RecycleLifetimeLimit
property, Programmatic Recycling
- RecycleMemoryLimit
property, Programmatic Recycling
- recycling applications (COM+
1.5), Application Recycling
- REGCLS_SINGLEUSE
flag, Application pooling
- registering assemblies with
COM+, Registering Assemblies, The ProgId Attribute, Adding Roles to an Application, COM+ Loosely Coupled Events
- RegisterInterfaceInGlobal(), The Global Interface Table
- RegistrationHelper
class, Programmatic Registration
- RegSvcs.exe
utility, Manual Registration
- RelatedCollectionInfo
collection, Catalog Structure
- Remove(), The ICatalogCollection Interface
- RemoveFilter(), Transient subscriber-side filtering
- Repeatable Read isolation
level, Configurable Transaction Isolation Level
- replicating the COM+
Catalog, Features of COMAdminCatalog
- Required synchronization
setting, Synchronization Required
- vs. Requires New
setting, Required Versus Requires New
- Required transaction
support, Transaction Required
- Required value, COM+ Transactions
- activity-based synchronization
and, COM+ Synchronization
- web
services and, Web services and transactions
- Requires New synchronization
setting, Synchronization Requires New
- Requires New transaction
support, Transaction Requires New
- RequiresNew value, COM+ Transactions
- activity-based synchronization
and, COM+ Synchronization
- web services and, Web services and transactions
- resource managers, Resource Managers
- COM+ Catalog
as, The COM+ Catalog and Transactions
- ITransaction interface
and, Transactions and Context
- state-aware objects
and, State-Aware Objects, State-Aware Objects
- transactions and pooled
objects, Transactions and Object Pooling, Transactions and Object Pooling
- two-phase commit protocol
and, The Two-Phase Commit Protocol
- resources
- acquiring, Acquiring Resources
- auto-enlisting, Resource Managers
- enlisting, Single Object/Single Resource Transaction, Multiple Objects/Multiple Resources Transaction
- manually
enlisting, Transactions and Object Pooling, Transactions and Object Pooling
- response
objects, Receiving Output from a Queued Component, Receiving Output from a Queued Component, Queued Components and Transactions
- ResumeProcess(), Pausing Applications
- retry
queues, Handling Poison Calls, Queued Component Error Handling
- RevertToSelf(), Server-Side Impersonation
- RevokeInterfaceFromGlobal(), The Global Interface Table
- rich
clients, Client Types
- JITA (Just-in-Time
Activation), Just-in-Time Activation, JITA and IObjectControl
- scaling up
with, Scaling Up with Rich Clients
- rich user
interfaces, Scaling Up with Rich Clients
- role-based
security, COM+ Security
- administering, Deploying and Administering Role-Based Security
- benefits of, Role-Based Security Benefits
- COM+ vs. .NET, COM+ Security
- configuring, Configuring Role-Based Security, Configuring Role-Based Security
- defining
access control, Authorization
- deploying, Deploying and Administering Role-Based Security
- designing, Designing Role-Based Security
- disabling, Role-Based Security Without Global Authentication
- enabling
authorization for
- library
applications, Securing a Library Application
- server
applications, Enabling Authorization
- event classes
and, The Event Class and Role-Based Security
- imported legacy components
and, Global Authentication Without Role-Based Security
- IsCallerInRole()
and, IsCallerInRole( ) Returns TRUE When Security Is Not Enabled, IsCallerInRole( ) Returns TRUE When Security Is Not Enabled
- programmatic, Programmatic Role-Based Security
- queued components
and, Queued Components and Role-Based Security
- securing a library
application, Securing a Library Application
- Security
Level properties group and, Setting the Security Level
- subscribers
and, Subscribers and Role-Based Security
- roles
- adding to
applications, Configuring Role-Based Security, Adding Roles to an Application
- allocating
users to, Deploying and Administering Role-Based Security
- granting access
to
- components/interfaces/methods, Configuring Role-Based Security, Assigning Roles to Component, Interface, and Method
- everyone via SetEveryoneAccess
property, Adding Roles to an Application
- inherited, Configuring Role-Based Security
- Roles
collection, Catalog Structure
- RolesForComponent
collection, Catalog Structure
- RolesForInterface
collection, Catalog Structure
- RolesForMethod
collection, Catalog Structure
- root object of COM+ 1.5
Catalog, Legacy Components
- root
object of COM+ Catalog, The Catalog Programming Model, The Catalog Root Object
- ICOMAdminCatalog
interface, Features of COMAdminCatalog, Features of COMAdminCatalog
- shutting down/starting up
COM+ applications, Features of COMAdminCatalog
- routing
events to multiple machines, Solution 3: COM+ Routing, Solution 3: COM+ Routing
- RPC_E_CALL_COMPLETE
error code, The Call Object
- Running Processes folder and pausing
applications, Pausing Applications
S
- SaveChanges(), The ICatalogCollection Interface, Saving Changes
- scalability,
COM+ Instance Management
- instance
management and, Instance Management and Scaling
- Internet clients
and, Scaling Up with Internet Clients
- rich clients
and, Scaling Up with Rich Clients
- server-side
impersonation and, Server-Side Impersonation
- vs. performance
with JITA, Using JITA
- security, COM+ Component Services, COM+ Security
- .NET
serviced components and, COM+ Security, Verifying Caller’s Role Membership
- basic
terms and concepts, Basic Security Terms, Summary
- checked at
application boundaries, Security Boundaries
- client-side, Programmatic Client-Side Security
- configuring, Configuring Role-Based Security
- at interface
level, Configuring Role-Based Security
- for library
applications, Configuring Application-Level Security Settings
- for server
applications, Configuring Application-Level Security Settings
- events service
and, COM+ Events and Security
- fine-tuning, Programmatic Role-Based Security
- lightweight proxies
and, Lightweight Proxies
- limitations for
queued components, Queued Components Security Limitations
- need
for, The Need for Security
- pitfalls, COM+ Security Pitfalls
- queued
components and, Queued Components Security, Queued Components Security Limitations
- role-based (see role-based
security)
- server-side
impersonation, Server-Side Impersonation, Server-Side Impersonation
- security
blankets, Programmatic Client-Side Security
- security
identity, Security Identity
- configuring for server
applications, Configuring the Server Application Identity
- impersonation level
and, Impersonation, Impersonation = Identify
- queued components security
and, Queued Components Security
- Windows stations
and, Configuring the Server Application Identity
- security level, setting for
server applications, Setting the Security Level
- security settings
- checking
after changing application activation
mode, Changing Application Activation Mode
- configuring
application-level, Configuring Application-Level Security Settings, Configuring Application-Level Security Settings
- disabling
changes to, Disabling Changes to the Application Configuration
- Security
tab
- for library
applications, Securing a Library Application
- for server
applications, Enabling Authorization
- SecurityCallContext
class, Verifying Caller’s Role Membership
- SecurityRole
attribute, Adding Roles to an Application, Assigning Roles to Component, Interface, and Method
- serial vs. parallel
publishing, Serial Versus Parallel Publishing
- Serialized isolation
level, Configurable Transaction Isolation Level
- server
applications, Creating a COM+ Application
- activating, COM+ Application Types
- ApplicationAccessControl
attribute, Configuring Application-Level Security Settings
- ApplicationActivation attribute
and, Application Activation Type
- configuring
- as
system service (COM+ 1.5), Service Activation Type
- security
identity of, Configuring the Server Application Identity
- debugging, Debugging COM+ Applications
- deploying, Deploying COM+ Applications
- enabling authorization
for, Enabling Authorization
- idle time
management and, Idle Time Management
- pooling
applications (COM+ 1.5), Application pooling
- proxy exports
and, Proxy COM+ Applications
- recycling applications in COM+
1.5, Application Recycling, Programmatic Recycling
- running
as
- activator, Configuring the Server Application Identity
- designated user, Configuring the Server Application Identity, Configuring the Server Application Identity
- interactive user, Configuring the Server Application Identity, Impersonation = Delegate
- securing, Securing a Server Application
- setting
- authentication
levels for, Setting the Authentication Level, Client authentication level compatibility
- impersonation
levels for, Setting the Impersonation Level, Impersonation = Delegate
- security
level for, Setting the Security Level, Setting the Security Level
- surrogate processes
and, COM+ Surrogate Processes
- Server name property
and persistent subscriptions, Solution 3: COM+ Routing
- server-side
- exception
handling, Server-side exception handling
- impersonation, Server-Side Impersonation, Server-Side Impersonation
- service applications in COM+
1.5, Service Activation Type
- service context
switch, Lightweight Proxies
- serviced components (see .NET
serviced components)
- ServicedComponent
base class, Developing Serviced Components
- DisposeObject()
and, COM+ Object Pooling, A Queued Component’s Managed Client
- IObjectConstruct interface
and, COM+ Constructor String
- object pooling and, COM+ Object Pooling
- using
IObjectControl, Using IObjectControl
- ServiceName
property, Service Activation Type
- SetAbort(), The IObjectContext Interface
- SetBlanket(), Programmatic Client-Side Security
- SetComplete(), Using JITA, The IObjectContext Interface
- SetDeactivateOnReturn(), Using JITA, Transactions and JITA
- SetEveryoneAccess
property (SecurityRole attribute), Adding Roles to an Application
- SetMultiInterfacePublisherFilter(), Dynamic association of a publisher filter with an event class
- SetMyTransactionVote(), Voting on a Transaction
- SetRecycleByActivations(), Programmatic Recycling
- ShouldFire(), The CGenericFilter helper class, The CGenericFilter helper class
- ShutdownApplication(), Features of COMAdminCatalog, Features of COMAdminCatalog
- signing assemblies, Registering Assemblies
- Simple Object Access Protocol
(SOAP), Web services and transactions
- single-threaded apartment
(STA) model, Pooled Object Design Requirements, Apartments: The Classic COM Solution
- NTA (neutral threaded apartment)
and, The Neutral Threaded Apartment, COM+ and Threading Model
- object starvation
and, Apartments: The Classic COM Solution
- when to
use, COM+ and Threading Model
- singleton,
configuring a COM+ component to be, Combining JITA with Object Pooling
- sink
interfaces, COM+ Event Service
- adding persistent
subscriptions, Adding a Persistent Subscription
- adding
transient subscriptions, Adding a Transient Subscription
- in classic COM, Classic COM Events
- event class definitions
and, Supplying the Event Class Definition, Supplying the Event Class Definition
- implementing, COM+ Loosely Coupled Events
- input parameters only for
methods, Event Class Interface Design Guidelines
- managing in
classic COM, Classic COM Events
- SOAP (Simple Object
Access Protocol), Web services and transactions
- STA
(single-threaded apartment) model, Pooled Object Design Requirements, Apartments: The Classic COM Solution
- NTA (neutral threaded apartment)
and, The Neutral Threaded Apartment, COM+ and Threading Model
- object starvation
and, Apartments: The Classic COM Solution
- when to
use, COM+ and Threading Model
- standard vs.
lightweight proxies, Lightweight Proxies
- StartApplication(), Features of COMAdminCatalog
- state-aware
objects, State-Aware Objects, State-Aware Objects
- static association of publisher filters with
event classes, Static association of a publisher filter with an event class
- statistics
- collecting, Tracking Instance Activity
- EventTrackingEnabled
attribute and, COM+ Context Attributes
- transaction, Transaction Statistics
- subpooling and transactional-pooled
objects, Transactions and Object Pooling
- subroot objects, avoid
passing to clients, Passing Subroot Objects to Clients
- subscriber-side
filtering, Subscriber-Side Filtering, Transient subscriber-side filtering
- SubscriberProperties
collection, Catalog Structure
- subscribers, COM+ Event Model
- advantages/disadvantages
of queued components, Asynchronous Subscribers
- asynchronous, Asynchronous Subscribers
- custom
properties, defining, Custom subscription properties
- distributed
events workaround and, Solution 1: One Machine for All the Subscribers and Event Classes
- event classes
and, The Event Class
- GetSubscriptions()
and, Implementing a publisher filter
- in-process, In-Process Subscribers
- per-user
subscriptions, Per-User Subscriptions
- persistent (see persistent
subscriptions)
- propagating
publisher transactions, COM+ Events and Transactions
- residing on
multiple other machines, Solution 2: Machine-Specific Event Classes
- role-based
security and, Subscribers and Role-Based Security
- serial vs.
parallel publishing, Serial Versus Parallel Publishing
- transient (see transient
subscriptions)
- types
of, Subscription Types, Adding a Transient Subscription
- SubscriptionData
structure, The CGenericFilter helper class
- SubscriptionsForComponent
collection, Catalog Structure
- Supported synchronization
setting, Synchronization Supported
- Supported transaction
support, Transaction Supported
- Supported value, COM+ Transactions
- activity-based synchronization
and, COM+ Synchronization
- web services
and, Web services and transactions
- surrogate
processes for COM+, COM+ Surrogate Processes
- switches,
command-line, Manual Registration
- synchronization, COM+ Component Services
- .NET serviced
components and, COM+ Synchronization
- achieved
by
- logical thread affinity
(COM+), Activities: The COM+ Innovation
- object-to-thread affinity
(COM), Apartments: The Classic COM Solution
- activity-based, COM+ Concurrency Model
- apartments
and, Apartments: The Classic COM Solution
- causality-based, Causality-Based Lock
- configuring
for COM+ components, COM+ Configuration Settings, Required Versus Requires New
- disabling
support for, Synchronization Disabled
- encapsulation
via marshaling, Encapsulation via Marshaling in COM
- lightweight
proxies and, Lightweight Proxies
- logbook
components and, How Does the Logbook Work?
- object-oriented
programming and multiple threads, Object-Oriented Programming and Multiple Threads, Object-Oriented Programming and Multiple Threads
- Required vs.
Required New settings, Required Versus Requires New
- required with
transactional objects, Activities and Transactions
- Synchronization
attribute, COM+ Synchronization
- SynchronizationOption
enum parameter, COM+ Synchronization
- synchronous vs. asynchronous
components, Synchronous Versus Asynchronous Components, Changes in Workflow
- System.EnterpriseServices
namespace, Developing Serviced Components
- ApplicationActivation attribute
and, Application Activation Type
- ApplicationID attribute
and, The ApplicationID Attribute
- ApplicationName attribute
and, Specifying Application Name
- Synchronization attribute
and, COM+ Synchronization
- System.EnterpriseServices.Admin
namespace, Programming the COM+ Catalog
- System.Object
class, .NET components derive from, Simplified Component Development
- System.Runtime.InteropServices
namespace, The Guid Attribute, A Queued Component’s Managed Client
- System.Runtime.Remoting.Context
namespace, COM+ Synchronization
- System.Web.Services
namespace, Web services and transactions
T
- test clients,
writing, Writing a Test Client
- Thread Local Storage
(TLS), COM+ and Threading Model
- threading
models
- incompatibilities
between, Encapsulation via Marshaling in COM, Assigning Objects to Contexts, Cross-Context Manual Marshaling
- logbook
components and, How Does the Logbook Work?
- object pooling design
issues, Pooled Object Design Requirements
- object-oriented programming and multiple
threads, Object-Oriented Programming and Multiple Threads, Summary
- threads,
logical, Activities: The COM+ Innovation
- timeouts
- component-level
transaction, Transaction Execution Time
- global
transaction, Transaction Execution Time
- setting
idle, Idle Time Management
- TLBATTR_QUEUEABLE
attribute, Designing Queued Component Interfaces
- TLBATTR_TRANS_REQUIRED
attribute, Transaction Support IDL Extension
- TLS (Thread Local
Storage), COM+ and Threading Model
- top-level
collections, The Catalog Programming Model
- (see also catalog collections)
- accessing
remote, Features of COMAdminCatalog
- accessing with
GetCollection(), The Catalog Root Object
- TPM (Transaction Processing
Monitor), Transaction Basics
- TraceComponents(), Using the Catalog Interfaces, Using the Catalog Interfaces
- tracing
- activities, Tracing Activities
- transactions, Tracing Transactions
- Transaction
attribute, COM+ Transactions, Configurable Transaction Isolation Level
- transaction context
components, Nontransactional Clients, Nontransactional Clients
- transaction
layouts, Transactional Object Life Cycle
- Transaction
Processing Monitor (TPM), Transaction Basics
- transaction root, Transaction Root
- transaction
stream, Transactional Object Life Cycle
- transactional vs. nontransactional
objects, Transaction Disabled
- TransactionContext
class, The TransactionContext Object
- TransactionMode
property, ASP.NET and transactions
- TransactionOption
enum parameter, COM+ Transactions
- TransactionOption
property (WebMethod attribute), Web services and transactions
- transactions, COM+ Component Services, COM+ Transactions, Accessing Objects Outside the Transaction
- .NET
serviced components and, COM+ Transactions, The TransactionContext Object
- aborting, The Atomic Property, Voting on a Transaction, Voting on the Transaction, Voting on the Transaction
- accessing
objects outside, Accessing Objects Outside the Transaction
- activities
and, Activities and Transactions
- allocation
decision matrix, Configuring Transactions
- architecture, COM+ Transactions Architecture, COM+ Transactions Architecture Benefits
- ASP.NET
and, ASP.NET and transactions
- COM+ Catalog
and, The COM+ Catalog and Transactions
- committing, The Atomic Property, Nontransactional Clients
- compensating, Compensating Transactions
- configuring, Configuring Transactions, Transaction Support IDL Extension
- contexts
and, Transactions and Context, Transactions and Context
- deadlocks
between, The Isolated Property
- design
pitfalls, COM+ Transactions Pitfalls
- designing
interfaces for, Designing Transactional Interfaces, Designing Transactional Interfaces
- events
service and, COM+ Events and Transactions, Transient Subscribers and Transactions
- execution time
of, Transaction Execution Time
- global timeouts
and, Transaction Execution Time
- in-doubt, In-Doubt Transactions
- isolation
levels, configuring in COM+ 1.5, Configurable Transaction Isolation Level
- JITA
and, Transactions and JITA
- life
cycle of objects, Transactional Object Life Cycle, Object Life Cycle Example
- MSMQ
and, MSMQ Participates in Transactions
- multiple
objects/multiple resources, Multiple Objects/Multiple Resources Transaction
- multiple
objects/single resource, Multiple Objects/Single Resource Transaction
- nontransactional
clients, Nontransactional Clients, Nontransactional Clients
- TransactionContext class
and, The TransactionContext Object
- object
pooling and, Transactions and Object Pooling
- properties
of, Transaction Properties, The Durable Property
- queued
components and, Queued Components and Transactions, Queued Components and Transactions
- scenarios
of, Transaction Scenarios , Multiple Objects/Multiple Resources Transaction
- serialization
in, The Isolated Property
- single
object/single resource, Single Object/Single Resource Transaction
- statistics
on, Transaction Statistics
- tracing, Tracing Transactions
- two-phase commit
protocol, The Two-Phase Commit Protocol
- voting
on (see voting on transactions)
- web
services and, Web services and transactions, Web services and transactions
- TransactionVote, Voting on the Transaction
- TRANSACTION_NOT_SUPPORTED
attribute, Transaction Support IDL Extension
- TRANSACTION_REQUIRED
attribute, Transaction Support IDL Extension
- TRANSACTION_REQUIRES_NEW
attribute, Transaction Support IDL Extension
- TRANSACTION_SUPPORTED
attribute, Transaction Support IDL Extension
- transient
subscriptions, The Event Class, Subscription Types
- adding, Adding a Transient Subscription, Adding a Transient Subscription
- custom properties
and, Custom subscription properties
- loosely coupled events
and, COM+ Loosely Coupled Events
- registering with COM+
Catalog, Adding a Transient Subscription, Adding a Transient Subscription
- removing, Adding a Transient Subscription
- subscriber-side filtering
and, Transient subscriber-side filtering
- transactions
and, Transient Subscribers and Transactions
- TransientSubscription
collection, Catalog Structure, Adding a Transient Subscription
- two-phase commit
protocol, The Two-Phase Commit Protocol
- two-tier vs.
multitier architecture,
COM+ Instance Management
- TxIsolationLevel
property, Configurable Transaction Isolation Level
- type
libraries, Supplying the Event Class Definition
- created by
RegSvcs utility, Manual Registration
- generating, Supplying the Event Class Definition
- type
library marshaling, COM+ Configured Components, Event Class Interface Design Guidelines
V
- versions of serviced components,
understanding, Understanding Serviced Component Versions
- Visual Basic and
CLR-compliance, .NET Programming Languages
- Visual
Basic clients
- object initialization
and, Visual Basic Persistable Objects
- queued components
and, Invoking Queued Components on the Client Side
- voting on
transactions, Transaction Basics, Voting on a Transaction, Voting on a Transaction
- .NET serviced components
and, Voting on the Transaction, Voting on the Transaction
- AutoComplete attribute
and, The AutoComplete Attribute
- collecting objectsÕ
votes, Collecting Objects’ Votes
- COM+ context
and, Transactions and Context, Transactions and Context
- Distributed Transaction
Coordinator, The Distributed Transaction Coordinator
- from within web
services, Web services and transactions
- two-phase commit protocol
and, The Two-Phase Commit Protocol
- web forms
and, ASP.NET and transactions
W
- web
forms, transaction support for, ASP.NET and transactions
- web
services
- support in COM+
1.5, Web Services in COM+ 1.5
- transactions
and, Web services and transactions, Web services and transactions
- WebMethod
attribute, Web services and transactions
- WebService base
class, Web services and transactions
- Windows stations and security
identity, Configuring the Server Application Identity
- workload buffering and queued
components, Workload Buffering
- wrapper class, GIT, The GIT Wrapper Class
- wrapper
objects
- adding transient subscription filtering
criteria, Transient subscriber-side filtering
- adding transient
subscriptions, Adding a Transient Subscription, Adding a Transient Subscription
- IFilterInstaller interface
and, Static association of a publisher filter with an event class
- registering transient subscriptions with
COM+ Catalog, Adding a Transient Subscription, Adding a Transient Subscription
..................Content has been hidden....................
You can't read the all page of ebook, please click
here login for view all page.