Class NodeConfiguration
Represents server pushed configuration of the node.
Inheritance
Implements
Inherited Members
Namespace: Nevatech.Vsb.Repository.Services
Assembly: Nevatech.Vsb.Repository.dll
Syntax
public sealed class NodeConfiguration : IExtensibleDataObject
Constructors
NodeConfiguration()
Initializes an empty instance.
Declaration
public NodeConfiguration()
Properties
BaseAddresses
Gets collection of node bases addresses with their corresponding configuration.
Declaration
public Collection<NodeAddress> BaseAddresses { get; }
Property Value
Type | Description |
---|---|
System.Collections.ObjectModel.Collection<NodeAddress> |
Current
Gets or sets the current node configuration.
Declaration
public static NodeConfiguration Current { get; set; }
Property Value
Type | Description |
---|---|
NodeConfiguration |
ExtensionData
Gets or sets System.Runtime.Serialization.ExtensionDataObject that enables serialization roundtrips.
Declaration
public ExtensionDataObject ExtensionData { get; set; }
Property Value
Type | Description |
---|---|
System.Runtime.Serialization.ExtensionDataObject |
HeartbeatInterval
Gets or sets node heartbeat interval (time between subsequent node status updates and configuration checks).
Declaration
public TimeSpan HeartbeatInterval { get; set; }
Property Value
Type | Description |
---|---|
System.TimeSpan |
LastUpdated
Gets or sets node current configuration timestamp.
Declaration
public DateTime LastUpdated { get; set; }
Property Value
Type | Description |
---|---|
System.DateTime |
NodeId
Gets or sets node database identifier.
Declaration
public int NodeId { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
NodeKey
Gets or sets node unique global identifier.
Declaration
public Guid NodeKey { get; set; }
Property Value
Type | Description |
---|---|
System.Guid |
NodeType
Gets or sets the node hosting type.
Declaration
public NodeType NodeType { get; set; }
Property Value
Type | Description |
---|---|
NodeType |
ProductReferences
Gets collection of references to the products hosted by the node.
Declaration
public Collection<ProductConfigurationReference> ProductReferences { get; }
Property Value
Type | Description |
---|---|
System.Collections.ObjectModel.Collection<ProductConfigurationReference> |
Products
Gets collection of the ProductConfiguration for the services hosted by the specified node.
Declaration
public Collection<ProductConfiguration> Products { get; }
Property Value
Type | Description |
---|---|
System.Collections.ObjectModel.Collection<ProductConfiguration> |
ProductServices
Gets collection of service versions assigned to a product.
Declaration
public Collection<ProductServiceVersion> ProductServices { get; }
Property Value
Type | Description |
---|---|
System.Collections.ObjectModel.Collection<ProductServiceVersion> |
ServiceAgreements
Gets collection of the service agreements for the services hosted by the node.
Declaration
public Collection<ServiceAgreement> ServiceAgreements { get; }
Property Value
Type | Description |
---|---|
System.Collections.ObjectModel.Collection<ServiceAgreement> |
ServiceReferences
Gets collection of references to the service versions hosted by the node.
Declaration
public Collection<ServiceConfigurationReference> ServiceReferences { get; }
Property Value
Type | Description |
---|---|
System.Collections.ObjectModel.Collection<ServiceConfigurationReference> |
Services
Gets collection of the ServiceConfiguration for the services hosted by the specified node.
Declaration
public Collection<ServiceConfiguration> Services { get; }
Property Value
Type | Description |
---|---|
System.Collections.ObjectModel.Collection<ServiceConfiguration> |
Settings
Gets node's advanced configuration settings.
Declaration
public NodeSettings Settings { get; }
Property Value
Type | Description |
---|---|
NodeSettings |
TrustedIssuers
Gets collection of security token issuers that node trusts.
Declaration
public Collection<Issuer> TrustedIssuers { get; }
Property Value
Type | Description |
---|---|
System.Collections.ObjectModel.Collection<Issuer> |
Methods
FindAccessKey(Message, Int32)
Tries to extract an access key from provided message, ensures that key belongs to the specified service version, and returns the key product information.
Declaration
public ProductAccessKey FindAccessKey(Message message, int serviceVersionId)
Parameters
Type | Name | Description |
---|---|---|
System.ServiceModel.Channels.Message | message | Request message that may have an access key. |
System.Int32 | serviceVersionId | Identifier of the service version where key was intercepted. |
Returns
Type | Description |
---|---|
ProductAccessKey | Product information associated with the key, or NULL, if key is not found, or invalid, or expired, or service version is not associated with the key product. |
Merge(NodeConfiguration)
Updates current configuration from provided one. Services with more recent timestamp will replace the old ones.
Declaration
public void Merge(NodeConfiguration configuration)
Parameters
Type | Name | Description |
---|---|---|
NodeConfiguration | configuration | Node configuration with supposedly more recent service configurations. |
RebuildAccessKeys()
Builds or rebuilds the internal access keys dictionary from the current configuration. This operation is thread-safe.
Declaration
public void RebuildAccessKeys()
Reset(DateTime)
Resets timestamps on all entities to provided date and time.
Declaration
public void Reset(DateTime lastUpdated)
Parameters
Type | Name | Description |
---|---|---|
System.DateTime | lastUpdated | Timestamp to be set on all entities in configuration. |