\r\n

51Degrees Pipeline .NET  4.3

51Degrees Pipeline for .NET

FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T > Class Template Reference abstract

Detailed Description

Abstract base class for ShareUsageElement builders.

Template Parameters
T - Element type

Inheritance diagram for FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >:

[legend]

Public Member Functions

 ShareUsageBuilderBase (ILoggerFactory loggerFactory)
Constructor More...
 ShareUsageBuilderBase (ILoggerFactory loggerFactory, ILogger logger)
ShareUsageBuilderBase< T >  SetIncludedQueryStringParameters (List< string > queryStringParameterNames)
By default query string and HTTP form parameters are not shared unless prefixed with '51D_'. More...
ShareUsageBuilderBase< T >  SetIncludedQueryStringParameters (string queryStringParameterNames)
By default query string and HTTP form parameters are not shared unless prefixed with '51D_'. More...
ShareUsageBuilderBase< T >  SetIncludedQueryStringParameter (string queryStringParameterName)
By default query string and HTTP form parameters are not shared unless prefixed with '51D_'. More...
ShareUsageBuilderBase< T >  SetShareAllQueryStringParameters (bool shareAll)
Configure the usage sharing element to share all query string and HTTP form parameters. More...
ShareUsageBuilderBase< T >  SetShareAllEvidence (bool shareAll)
Configure the usage sharing element to share all evidence. More...
ShareUsageBuilderBase< T >  SetBlockedHttpHeaders (List< string > blockedHeaders)
By default, all HTTP headers (excluding a few such as 'cookies') are shared. More...
ShareUsageBuilderBase< T >  SetBlockedHttpHeader (string blockedHeader)
By default, all HTTP headers (excluding a few such as 'cookies') are shared. More...
ShareUsageBuilderBase< T >  SetIgnoreFlowDataEvidenceFilter (string evidenceFilter)
This setting can be used to stop the usage sharing element from sharing anything about specific requests. More...
ShareUsageBuilderBase< T >  SetSharePercentage (double sharePercentage)
Set the percentage of data that the ShareUsageElement should be sharing. More...
ShareUsageBuilderBase< T >  SetMinimumEntriesPerMessage (int minimumEntriesPerMessage)
The usage element will group data into single requests before sending it. More...
ShareUsageBuilderBase< T >  SetMaximumQueueSize (int size)
Set the maximum number of entries to be stored in the queue to be sent. More...
ShareUsageBuilderBase< T >  SetAddTimeout (int milliseconds)
Set the timeout in milliseconds to allow when attempting to add an item to the queue. More...
ShareUsageBuilderBase< T >  SetTakeTimeout (int milliseconds)
Set the timeout in milliseconds to allow when attempting to take an item from the queue in order to send to the remote service. More...
ShareUsageBuilderBase< T >  SetShareUsageUrl (string shareUsageUrl)
Set the URL to use when sharing usage data. More...
ShareUsageBuilderBase< T >  SetShareUsageUrl (Uri shareUsageUrl)
Set the URL to use when sharing usage data. More...
ShareUsageBuilderBase< T >  SetAspSessionCookieName (string cookieName)
Set the name of the cookie that contains the asp.net session id. More...
ShareUsageBuilderBase< T >  SetRepeatEvidenceIntervalMinutes (int interval)
If exactly the same evidence values are seen multiple times within this time limit then they will only be shared once. More...
ShareUsageBuilderBase< T >  SetTrackSession (bool track)
If set to true, the configured session cookie will be used to identify user sessions. More...
abstract T  Build ()

Protected Attributes

string  ShareUsageUrl => ShareUsageUri.AbsoluteUri
The remote endpoint to send usage data to. More...

Properties

ILoggerFactory  LoggerFactory [get]
The logger factory used by this builder More...
ILogger  Logger [get]
The logger to be used by this builder More...
int  RepeatEvidenceInterval = Constants.SHARE_USAGE_DEFAULT_REPEAT_EVIDENCE_INTERVAL [get]
Where a set of evidence values exactly matches a previously seen set of evidence values, it will not be shared if that situation occurs within this time interval. More...
double  SharePercentage = Constants.SHARE_USAGE_DEFAULT_SHARE_PERCENTAGE [get]
The approximate proportion of events to share. More...
int  MinimumEntriesPerMessage = Constants.SHARE_USAGE_DEFAULT_MIN_ENTRIES_PER_MESSAGE [get]
The minimum number of entries to be present in the XML PAyload before it is sent to the usage sharing endpoint. More...
int  MaximumQueueSize [get]
Set the maximum number of entries to be stored in the queue to be sent. More...
int  AddTimeout = Constants.SHARE_USAGE_DEFAULT_ADD_TIMEOUT [get]
The timeout in milliseconds to allow when attempting to add an item to the queue. More...
int  TakeTimeout = Constants.SHARE_USAGE_DEFAULT_TAKE_TIMEOUT [get]
The timeout in milliseconds to allow when attempting to take an item from the queue in order to send to the remote service. More...
Uri  ShareUsageUri = new Uri(Constants.SHARE_USAGE_DEFAULT_URL) [get]
The remote endpoint to send usage data to. More...
string  AspSessionCookieName = Engines.Constants.DEFAULT_ASP_COOKIE_NAME [get]
The name of the cookie that contains the asp.net session id. More...
List< string >  BlockedHttpHeaders = new List<string>() [get]
A list of HTTP headers that should not be shared. More...
List< string >  IncludedQueryStringParameters = new List<string>() [get]
A list of query string parameters to be shared. More...
List< KeyValuePair< string, string > >  IgnoreDataEvidenceFilter = new List<KeyValuePair<string, string>>() [get]
A collection of evidence keys and values which, if present, cause the event to be ignored for the purposes of usage sharing. More...
bool  TrackSession [get]
Controls whether session tracking is enabled or disabled. More...
bool  ShareAllEvidence = false [get]
If set to true then all evidence values will be shared. More...

Constructor & Destructor Documentation

Member Function Documentation

◆ SetIgnoreFlowDataEvidenceFilter()

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetIgnoreFlowDataEvidenceFilter ( string   evidenceFilter )

This setting can be used to stop the usage sharing element from sharing anything about specific requests.

For example, if you wanted to stop sharing any details from requests where the user-agent header was 'ABC', you would set this to "header.user-agent:ABC"

Parameters
evidenceFilter - Comma separated string containing entries in the format
[evidenceKey]:[evidenceValue]
. Any requests with evidence matching these entries will not be shared.
Returns

◆ SetIncludedQueryStringParameter()

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetIncludedQueryStringParameter ( string   queryStringParameterName )

By default query string and HTTP form parameters are not shared unless prefixed with '51D_'.

This setting allows you to share these parameters with 51Degrees if needed.

Parameters
queryStringParameterName - The (case insensitive) name of the query string parameter to include.

◆ SetIncludedQueryStringParameters() [1/2]

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetIncludedQueryStringParameters ( List< string >   queryStringParameterNames )

By default query string and HTTP form parameters are not shared unless prefixed with '51D_'.

This setting allows you to share these parameters with 51Degrees if needed.

Parameters
queryStringParameterNames - The (case insensitive) names of the query string parameters to include.
Exceptions
ArgumentNullException - Thrown if the parameter is null

◆ SetIncludedQueryStringParameters() [2/2]

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetIncludedQueryStringParameters ( string   queryStringParameterNames )

By default query string and HTTP form parameters are not shared unless prefixed with '51D_'.

This setting allows you to share these parameters with 51Degrees if needed.

Parameters
queryStringParameterNames - A comma separated list of the (case insensitive) names of the query string parameters to include.
Exceptions
ArgumentNullException - Thrown if the parameter is null

◆ SetMinimumEntriesPerMessage()

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetMinimumEntriesPerMessage ( int   minimumEntriesPerMessage )

The usage element will group data into single requests before sending it.

This setting controls the minimum number of entries before data is sent. If you are sharing large amounts of data, increasing this value is recommended in order to reduce the overhead of sending HTTP messages. For example, the 51Degrees cloud service uses a value of 2500.

Parameters
minimumEntriesPerMessage - The minimum number of entries to be aggregated by the ShareUsageElement before they are sent to the remote service.

Member Data Documentation

Property Documentation

◆ RepeatEvidenceInterval

int FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.RepeatEvidenceInterval = Constants.SHARE_USAGE_DEFAULT_REPEAT_EVIDENCE_INTERVAL
get protected

Where a set of evidence values exactly matches a previously seen set of evidence values, it will not be shared if that situation occurs within this time interval.

(in minutes)