\r\n

51Degrees Pipeline .NET  4.1Newer Version 4.4

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 >  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

ILoggerFactory  _loggerFactory
ILogger  _logger
int  _repeatEvidenceInterval = Constants.SHARE_USAGE_DEFAULT_REPEAT_EVIDENCE_INTERVAL
double  _sharePercentage = Constants.SHARE_USAGE_DEFAULT_SHARE_PERCENTAGE
int  _minimumEntriesPerMessage = Constants.SHARE_USAGE_DEFAULT_MIN_ENTRIES_PER_MESSAGE int  _maximumQueueSize = Constants.SHARE_USAGE_DEFAULT_MAX_QUEUE_SIZE int  _addTimeout = Constants.SHARE_USAGE_DEFAULT_ADD_TIMEOUT int  _takeTimeout = Constants.SHARE_USAGE_DEFAULT_TAKE_TIMEOUT string  _shareUsageUrl = Constants.SHARE_USAGE_DEFAULT_URL string  _aspSessionCookieName = Engines.Constants.DEFAULT_ASP_COOKIE_NAME List< string >  _blockedHttpHeaders = new List<string>() List< string >  _includedQueryStringParameters = new List<string>() List< KeyValuePair< string, string > >  _ignoreDataEvidenceFilter = new List<KeyValuePair<string, string>>() bool  _trackSession

Constructor & Destructor Documentation

◆ ShareUsageBuilderBase() [1/2]

Constructor

Parameters
loggerFactory - The ILoggerFactory to use when creating loggers for a ShareUsageElement.
httpClient - The HttpClient that ShareUsageElement should use for sending data.

◆ ShareUsageBuilderBase() [2/2]

FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.ShareUsageBuilderBase ( ILoggerFactory   loggerFactory,
ILogger   logger  
)

Parameters
loggerFactory -
logger -

Member Function Documentation

◆ Build()

◆ SetAddTimeout()

Set the timeout in milliseconds to allow when attempting to add an item to the queue.

If this timeout is exceeded then usage sharing will be disabled.

Parameters
milliseconds - Timeout to set

◆ SetAspSessionCookieName()

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetAspSessionCookieName ( string   cookieName )

Set the name of the cookie that contains the asp.net session id.

Parameters
cookieName - The name of the cookie that contains the asp.net session id.

◆ SetBlockedHttpHeader()

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.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.

Some headers, such as 'cookies' are hard-coded to be blocked regardless of this setting.

Parameters
blockedHeader - The name of the header to block.

◆ SetBlockedHttpHeaders()

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetBlockedHttpHeaders ( List< string >   blockedHeaders )

Set the (case insensitive) names of HTTP headers that will not be sent to 51 degrees.

Some headers, such as 'cookies' are hard-coded to be blocked regardless of this setting.

Parameters
blockedHeaders - The names of the headers to block.

◆ SetIgnoreFlowDataEvidenceFilter()

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

Adds evidence key:values to the filter such that requests which contain this evidence are ignored.

Parameters
evidenceFilter - Comma separated string containing evidence keys and evidence to ignore.
Returns

◆ SetIncludedQueryStringParameter()

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.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.

Parameters
queryStringParameterName - The name of the query string parameter to include.

◆ 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.

◆ 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.

◆ SetMaximumQueueSize()

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

◆ SetMinimumEntriesPerMessage()

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.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.

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

◆ SetRepeatEvidenceIntervalMinutes()

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetRepeatEvidenceIntervalMinutes ( int   interval )

Set the interval which determines if a non-unique piece of evidence is repeat evidence or new.

Parameters
interval - The interval in minutes.

◆ SetSharePercentage()

ShareUsageBuilderBase<T> FiftyOne.Pipeline.Engines.FiftyOne.FlowElements.ShareUsageBuilderBase< T >.SetSharePercentage ( double   sharePercentage )

Set the percentage of data that the ShareUsageElement should be sharing.

Parameters
sharePercentage - The proportion of events sent to the pipeline that should be shared to 51Degrees. 1 = 100%, 0.5 = 50%, etc.

◆ SetShareUsageUrl()

Set the URL to use when sharing usage data.

Parameters
shareUsageUrl - The URL to use when sharing usage data.

◆ SetTakeTimeout()

Set the timeout in milliseconds to allow when attempting to take an item from the queue in order to send to the remote service.

Parameters
milliseconds - Timeout to set

◆ SetTrackSession()

Enable or disable session tracking.

Parameters
track - Boolean value set's whether the usage element should track sessions.
Returns
On This Page