Profiling System Run-Time Considerations
This section describes the following Profiling System run-time considerations:
- CSOLEDB handles
- Accessing properties
- Transaction support
- Data size validation
CSOLEDB Handles
You must always store handles to the Profiling System and OLE DB Provider for Commerce Server at application scope. You should do this because the CSOLEDB handles were designed so that they create an object once in the Global.asa file, store the object at application scope, and then use the object on every ASP page. The CSOLEDB handles coordinate the concurrency issues that arise from processing multiple queries simultaneously. They also manage the fault-tolerance of connections to underlying stores for reliable query processing.
Accessing Properties
The Profiling System provides a number of mechanisms to access profile object properties. For example, the following are different ways of accessing the GeneralInfo.user_id property of a ProfileObject object named oUser:
Access by using standard Microsoft ActiveX Data Objects (ADO) notation:
oUser.Fields.Item("GeneralInfo").Value.Item("user_id").Value oUser.Fields("GeneralInfo").Value("user_id").Value
Access by using extended dot notation:
oUser.Fields("GeneralInfo.user_id"
Access by using smart dispatch notation:
oUser.GeneralInfo.user_id
The performance difference between these options is insignificant.
Transaction Support
The Profiling System, by default, does not transact write operations across multiple data stores. More specifically, it does not support executing a two-phase commit protocol across transactional data stores.
The Profiling System provides loose support for transactions. The data aggregation layer brackets INSERT, UPDATE, and DELETE data store operations that aggregate across multiple stores in a transaction, and commits them only after all data store operations have succeeded against non-transactional data stores (such as directory stores).
You can enable loose support by creating a custom attribute named IsTransactioned in the profile definition and setting it to True. If this attribute is absent or if you set it to False, this feature is disabled.
Data Size Validation
The Profiling System does not perform any data size validation, and depends on the underlying data stores to perform the validation.
Copyright © 2005 Microsoft Corporation.
All rights reserved.