Microsoft KB Archive/328032

= Additional OrderForm library ContentListFactory object items are unexpectedly persisted in Commerce Server =

Article ID: 328032

Article Last Modified on 6/18/2004

-

APPLIES TO


 * Microsoft Commerce Server 2002 Standard Edition
 * Microsoft Commerce Server 2000 Standard Edition

-



This article was previously published under Q328032



SYMPTOMS
In Microsoft Commerce Server, the XML binary large object (BLOB) data that the DBStorage object creates through the IPersistXML interface contains additional ContentListFactory object items in the OrderForm dictionary.



CAUSE
The following keys contain data:
 * _discounts
 * _performance

These keys are saved if the prefix property of the OrderForm dictionary is set to something other than an underscore character (&quot;_&quot;). By default, the prefix property is set to an underscore character (&quot;_&quot;).



RESOLUTION
To resolve this behavior, set the values for the _discounts and _performance keys to null after the pipeline runs and after you do not need the values for order processing. You can change these values before you call the SaveAsOrder method.



STATUS
This behavior is by design.



MORE INFORMATION
The Dictionary.Prefix property is a read/write String that acts as a filter when the contents of the Dictionary object are saved, typically to a database. When the name of a name/value pair begins with the specified prefix, that name/value pair is not saved. By default, the value of the Prefix property is &quot;_&quot; so that any keywords that start with an underscore character (&quot;_&quot;) are excluded.

The pipeline component that saves receipts typically sets the prefix to &quot;_cc_&quot; so that all credit card information is not saved in the database. The actual string that is used by the pipeline component is configurable.

Note You receive the following warning message whenever you call the ContentList::LoadXML method, the ContentList::SaveXML method, the ContentListFactory::LoadXML method, or the ContentListFactory::SaveXML method:

Warning: A ContentList object is being saved as XML or loaded from XML. This is an unsupported and expensive operation. Please see the Commerce Server 2000 support knowledgebase for more details.

Note The word &quot;knowledgebase&quot; in this warning message should be capitalized as &quot;Knowledge Base.&quot;

