Class ServiceVersionSettings
Defines a set of advanced configuration properties for virtual service version.
Inherited Members
Namespace: Nevatech.Vsb.Repository.Entities
Assembly: Nevatech.Vsb.Repository.dll
Syntax
public sealed class ServiceVersionSettings : IValidator, IEquatable<ServiceVersionSettings>, IExtensibleDataObject
Constructors
ServiceVersionSettings()
Initializes an empty instance.
Declaration
public ServiceVersionSettings()
Properties
AzureDiscoveryEnabled
Gets or sets flag indicating that service endpoints hosted in Windows Azure Service Bus should be registered in Service Bus registry, so that they can be discovered through the ATOM feed.
Declaration
public bool AzureDiscoveryEnabled { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Cors
Gets or sets the Cross-Origin Resource Sharing protocol configuration enabled for all endpoints of the current REST service. If property is not set then CORS is not enabled.
Declaration
public CorsSettings Cors { get; set; }
Property Value
Type | Description |
---|---|
CorsSettings |
Diagnostics
Gets or sets the configuration settings for service tracing and diagnostics.
Declaration
public DiagnosticSettings Diagnostics { get; set; }
Property Value
Type | Description |
---|---|
DiagnosticSettings |
ErrorMessage
Gets the summary of validation errors.
Declaration
public string ErrorMessage { get; }
Property Value
Type | Description |
---|---|
String |
ErrorsHandling
Gets or sets error handling configuration used for wrapping internal exceptions in REST or OData services.
Declaration
public WebErrorsHandling ErrorsHandling { get; set; }
Property Value
Type | Description |
---|---|
WebErrorsHandling |
ExtensionData
Gets or sets ExtensionDataObject that enables serialization round-trips.
Declaration
public ExtensionDataObject ExtensionData { get; set; }
Property Value
Type | Description |
---|---|
ExtensionDataObject |
InternalStsEnabled
Gets or sets flag indicating that node should issue SAML security tokens using its internal Security Token Service (STS).
Declaration
public bool InternalStsEnabled { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
If service is not issuing "ActAs" or "OnBehalfOf" tokens, it will not call external STS service configured in the outbound binding.
InternalStsSettings
Gets or sets the configuration options for internal Security Token Service (STS).
Declaration
public SecurityTokenServiceSettings InternalStsSettings { get; set; }
Property Value
Type | Description |
---|---|
SecurityTokenServiceSettings |
MonitoringFilters
Gets collection of monitoring filters that allow to transform the recorded message before sending it to the backend store.
Declaration
public MonitoringFilterCollection MonitoringFilters { get; }
Property Value
Type | Description |
---|---|
MonitoringFilterCollection |
RequestMimeTypes
Gets collection of MIME types that RESTful operations can consume. This is global to all operations but can be overridden on specific operation.
Declaration
public Collection<string> RequestMimeTypes { get; }
Property Value
Type | Description |
---|---|
Collection<String> |
ResponseMimeTypes
Gets collection of MIME types that RESTful operations can produce. This is global to all operations but can be overridden on specific operation.
Declaration
public Collection<string> ResponseMimeTypes { get; }
Property Value
Type | Description |
---|---|
Collection<String> |
SamlMappingEnabled
Gets or sets flag indicating that inbound SAML token must be mapped to Windows user based on UPN claim value and converted to Windows identity.
Declaration
public bool SamlMappingEnabled { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
This option requires that "Claims to Windows Token Service" to be installed and configured on the node's machine.
SynchronousProcessingEnabled
Gets or sets flag indicating that Routing Service processes client requests synchronously and does not uses pool of outbound client proxies. Turning this option ON degrades performance, but provides more consistency and error resilience in scenarios with session-less bindings on inbound side and sessionful bindings on outbound side.
Declaration
public bool SynchronousProcessingEnabled { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
This option affect performance of the virtual service as it implicitly impersonates the current node's identity for each call. This is a workaround of the Routing Service limitation and used to force it use new client factory and channel for each outbound call.
TransitRequestHeaders
Gets or sets the list of HTTP request transport header names received on the inbound side that may be passed though the virtual service to the ultimate receiver (service). The header names must be separated by ',', ';', space, or new line. Each name must contain one alpha-numeric characters, '-', or '_' and may end on '*' to indicate any characters for a wildcard match.
Declaration
public string TransitRequestHeaders { get; set; }
Property Value
Type | Description |
---|---|
String |
TransitResponseHeaders
Gets or sets the list of HTTP request transport header names received on the outbound side that may be passed though the virtual service to the ultimate receiver (client). The header names must be separated by ',', ';', space, or new line. Each name must contain one alpha-numeric characters, '-', or '_' and may end on '*' to indicate any characters for a wildcard match.
Declaration
public string TransitResponseHeaders { get; set; }
Property Value
Type | Description |
---|---|
String |
UserNameAuthentication
Gets or sets value indicating how inbound user name tokens are authenticated, or what security token handler is used to process Username/Password tokens.
Declaration
public UserNameAuthenticationType UserNameAuthentication { get; set; }
Property Value
Type | Description |
---|---|
UserNameAuthenticationType |
UserNameTransitEnabled
Gets or sets flag indicating that user name and password credentials received on the inbound side must be used for making outbound calls.
Declaration
public bool UserNameTransitEnabled { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
This option requires that all inbound endpoints accept user name credentials.
This option affect performance of the virtual service as it implicitly impersonates the current node's identity for each call. This is a workaround of the Routing Service limitation and used to force it use new client factory and channel for each outbound call.
WindowsTransitEnabled
Gets or sets flag indicating that virtual service must impersonate inbound Windows identity before making outbound call.
Declaration
public bool WindowsTransitEnabled { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
Impersonation can only be enabled, if service meets the following criteria:
- There are no endpoints that do not authenticate caller (caller identity is anonymous).
- All mapping options for all types of identities are turned on. This should guarantee that all non-Windows identities will be mapped to Windows identities.
- Inbound Windows identity must allow impersonation.
Impersonation affect performance as following:
- All outbound calls are performed synchronously.
- If session-full bindings are not used on inbound and outbound endpoints, then new outbound factory and channel will be created for each call.
- Impersonation operation itself is considered to be "slow".
X509CertificateMappingEnabled
Gets or sets flag indicating that inbound X.509 certificate must be mapped to Windows user through Active Directory and converted to Windows identity.
Declaration
public bool X509CertificateMappingEnabled { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Remarks
This option requires that "Claims to Windows Token Service" to be installed and configured on the node's machine.
Methods
Equals(ServiceVersionSettings)
Determines whether the specified service version settings are equal to the current service version settings.
Declaration
public bool Equals(ServiceVersionSettings other)
Parameters
Type | Name | Description |
---|---|---|
ServiceVersionSettings | other | The service version settings to compare with the current service version. |
Returns
Type | Description |
---|---|
Boolean | True, if service version settings are equal. False, if service version settings are not equal. |
Equals(Object)
Determines whether the specified object is equal to the current object.
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj | The object to compare with the current object. |
Returns
Type | Description |
---|---|
Boolean | True, if objects are equal. False, if objects are not equal. |
Overrides
GetHashCode()
Returns the hash code for this instance.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 | Hash code of the current instance. |
Overrides
IsHeaderBlocked(String, Boolean)
Checks if specified transport header must be blocked on the virtual service and not be sent to the ultimate receiver.
Declaration
public bool IsHeaderBlocked(string headerName, bool response)
Parameters
Type | Name | Description |
---|---|---|
String | headerName | Transport header name that needs to be examined. |
Boolean | response | Flag indicating that header is found in the response message. |
Returns
Type | Description |
---|---|
Boolean | Flag indicating that header must be blocked. If False than header can be passed to the ultimate receiver. |
Validate()
Evaluates the state of this object.
Declaration
public bool Validate()
Returns
Type | Description |
---|---|
Boolean | True if state is valid; otherwise, false. |