Command ClassNFX Class Library

[This is preliminary documentation and is subject to change.]

Defines a command sent into an IDistributedDataStore implementor to retrieve or change(if supported) data. A Command is a named bag of paremeters where every parameter has a name and a value. Every command has a unique Identity(GUID) which represents a token of the whole command state (name, type,all params). The identity is used for quick lookup/caching. The identity may be supplied externally as business code may map certain parameters into GUID and later reuse the same GUID to retrieve the cached command result, for example a web server app may cache command "GetPurchases(user=123, year=2015, month=3)" under session key "MY_PURCHASES_201503" to later retrieve a cached (if available) command results from the DB layer, this way the DB server does not have to store the whole commands with all params as the cache key (which would have been slow to compare and would have induced GC pressure). Warning: DO NOT CACHE command identity value on a client (i.e. web page) in an un-encrypted state, as this is a security flaw
Inheritance Hierarchy

OnlineSystem Object
  OnlineSystem.Collections.Generic List Command Param 
    NFX.DataAccess.Distributed Command

Namespace: NFX.DataAccess.Distributed
Assembly: NFX (in NFX.dll) Version: 3.0.0.1 (3.0.0.1)
Syntax

[SerializableAttribute]
public class Command : List<Command..::..Param>, 
	INamed, IShardingPointerProvider, ICachePolicy
See Also