SerializationBindings Element
For the latest version of Commerce Server 2007 Help, see the Microsoft Web site.
The SerializationBindings element in the Web.config file identifies how to access customized objects that were created in one version of your Commerce Server application from a later version of your Commerce Server application.
Put the SerializationBindings element within the orders element.
The SerializationBindings element is a container for SerializationBinding elements.
SerializationBinding Element
The SerializationBinding element defines a mapping between an obsolete Orders class and the class that replaces the obsolete class. When Commerce Server retrieves data about an instance of an obsolete class from the database, it calls the deserialization constructor for the new class to create an instance of the object. The deserialization constructor for the new class must be able to deserialize objects of the old class. The old and new classes could have different names, or they could have the same name but belong to different versions of the assembly in the Global Assembly Cache (GAC).
The following table lists the attributes of the SerializationBinding element.
Attribute |
Data Type |
Description |
---|---|---|
OldType |
String |
The fully qualified name of the class to replace, including the assembly. |
NewType |
String |
The fully qualified name of the class that replaces the old class, including the assembly. |
Example
For this example, assume that you derived a new class named ExtBasket version 1.0 from the core Orders Basket class. In the second version of your application, you updated your ExtBasket class and it became version 2.0. In the current version of your application, you created a newer class named NewExtBasket version 1.0 from the core Orders Basket class. The following XML sample illustrates how you would use the SerializationBindings element of the Web.config file to indicate that data about an ExtBasket version 3.0 and data about an ExtBasket version 2.0 should be deserialized using the deserialization constructor for the NewExtBasket version 3.0 class.
<SerializationBindings>
<!-- Map ExtBasket Version 1.0 to NewExtBasket Version 3.0 -->
<SerializationBinding
OldType="CommerceServices.Orders.ExtRuntime.ExtBasket,
OrdersExtRuntime, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856bc364e35"
NewType="CommerceServices.Orders.ExtRuntime.NewExtBasket,
OrdersExtRuntime, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856bc364e35"/>
<!-- Map NewExtBasket Version 2.0 to NewExtBasket Version 3.0 -->
<SerializationBinding
OldType="CommerceServices.Orders.ExtRuntime.ExtBasket,
OrdersExtRuntime, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856bc364e35"
NewType="CommerceServices.Orders.ExtRuntime.NewExtBasket,
OrdersExtRuntime, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856bc364e35"/>
</SerializationBindings >