DSS Service Data Model
Collapse the table of content
Expand the table of content

DSS Service Data Model

Microsoft Robotics

Glossary Item Box

Microsoft Robotics Developer StudioSend feedback on this topic

DSS Service Data Model

The service state is a representation of a service at any given point in time. One way to think of the service state is as a document that describes the current content of a service. In addition to capturing the current share of a service, the state is also used to drive the Web-based User Interface (UI), of the service. See DSS Service Components.

When defining the state of a service the programmer must incorporate the Common Language Runtime (CLR) classes, fields, and properties using the DataContractAttribute, DataMemberAttribute, and DataMemberConstructorAttribute. This is required in order to include the types in the generated Decentralized Software Service (DSS) proxy Dynamic Link Library (DLL). The DSS proxy generation uses an "opt-in" model where anything not explicitly decorated will not be included in the generated proxy DLL.

Please see Service Tutorials Overview for examples of how to use these attributes.


The DataContractAttribute is used on classes, structs, and enumerations to indicate that these types are to be included in the DSS proxy DLL generated for this service implementation as part of the public contract.


The DataMemberAttribute is used on fields and properties to indicate that these members are to be included in the DSS proxy DLL generated for this service implementation as part of the public contract.


The DataMemberConstructorAttribute can be used to indicate that a constructor overload containing initialization parameters should be automatically generated in the proxy DLL. The attribute can be used in combination with either the DataContractAttribute or the DataMemberAttribute as follows:

  • Used in combination with DataContractAttribute this attribute causes the generation of a constructor with every field or property marked with the DataMemberAttribute.

  • Used in combination with DataMemberAttribute this attribute controls the order in which the fields or properties are listed in the generated constructor. If the order is set to 0 (default), the lexical order is preserved and if set to -1 the field or property is explicitly not included in the generated constructor. 




© 2012 Microsoft Corporation. All Rights Reserved.

© 2016 Microsoft