51Degrees Pipeline .NET  4.1

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)
Add parameter names to the (case insensitive) list of names of query string parameters that will be sent to 51Degrees. More...
ShareUsageBuilderBase< T >  SetIncludedQueryStringParameters (string queryStringParameterNames)
Add parameter names to the (case insensitive) list of names of query string parameters that will be sent to 51Degrees. More...
ShareUsageBuilderBase< T >  SetIncludedQueryStringParameter (string queryStringParameterName)
Add a parameter name to the (case insensitive) list of names of query string parameters that will be sent to 51Degrees. More...
ShareUsageBuilderBase< T >  SetBlockedHttpHeaders (List< string > blockedHeaders)
Set the (case insensitive) names of HTTP headers that will not be sent to 51 degrees. More...
ShareUsageBuilderBase< T >  SetBlockedHttpHeader (string blockedHeader)
Add a header to the (case insensitive) list of names of HTTP headers that will not be sent to 51 degrees. More...
ShareUsageBuilderBase< T >  SetIgnoreFlowDataEvidenceFilter (string evidenceFilter)
Adds evidence key:values to the filter such that requests which contain this evidence are ignored. More...
ShareUsageBuilderBase< T >  SetSharePercentage (double sharePercentage)
Set the percentage of data that the ShareUsageElement should be sharing. More...
ShareUsageBuilderBase< T >  SetMinimumEntriesPerMessage (int minimumEntriesPerMessage)
Set the minimum number of entries to be aggregated by the ShareUsageElement before they are sent to the remote service. 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)
Set the interval which determines if a non-unique piece of evidence is repeat evidence or new. More...
ShareUsageBuilderBase< T >  SetTrackSession (bool track)
Enable or disable session tracking. 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 = Constants.SHARE_USAGE_DEFAULT_MAX_QUEUE_SIZE [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...

Constructor & Destructor Documentation

Member Function Documentation

◆ SetIncludedQueryStringParameters() [1/2]

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

Add parameter names to the (case insensitive) list of names of query string parameters that will be sent to 51Degrees.

Parameters
queryStringParameterNames - The names of the query string parameter 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 )

Add parameter names to the (case insensitive) list of names of query string parameters that will be sent to 51Degrees.

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

◆ SetRepeatEvidenceIntervalMinutes()

int   size )

Set the maximum number of entries to be stored in the queue to be sent.

This must be more than the minimum entries per message.

Parameters
size - Size to set

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)