Condividi tramite


ChannelManagerService Costruttori

Definizione

Inizializza una nuova istanza della classe ChannelManagerService.

Overload

ChannelManagerService()

Inizializza una nuova istanza della classe ChannelManagerService.

ChannelManagerService(IList<ServiceEndpoint>)

Inizializza una nuova istanza della classe ChannelManagerService.

ChannelManagerService(NameValueCollection)

Inizializza una nuova istanza della classe ChannelManagerService.

ChannelManagerService(ChannelPoolSettings)

Inizializza una nuova istanza della classe ChannelManagerService.

ChannelManagerService(ChannelPoolSettings, IList<ServiceEndpoint>)

Inizializza una nuova istanza della classe ChannelManagerService.

ChannelManagerService()

Inizializza una nuova istanza della classe ChannelManagerService.

public:
 ChannelManagerService();
public ChannelManagerService ();
Public Sub New ()

Esempio

Nell'esempio seguente viene illustrato come creare una nuova istanza dell'oggetto ChannelManagerService. Questo esempio è stato adattato dall'esempio SDK SequentialWorkflowService.

// Add ChannelManager.
ChannelManagerService channelmgr = new ChannelManagerService();
workflowRuntime.AddService(channelmgr);
' Add ChannelManager.
Dim channelmgr As New ChannelManagerService()
workflowRuntime.AddService(channelmgr)

Si applica a

ChannelManagerService(IList<ServiceEndpoint>)

Inizializza una nuova istanza della classe ChannelManagerService.

public:
 ChannelManagerService(System::Collections::Generic::IList<System::ServiceModel::Description::ServiceEndpoint ^> ^ endpoints);
public ChannelManagerService (System.Collections.Generic.IList<System.ServiceModel.Description.ServiceEndpoint> endpoints);
new System.Workflow.Runtime.Hosting.ChannelManagerService : System.Collections.Generic.IList<System.ServiceModel.Description.ServiceEndpoint> -> System.Workflow.Runtime.Hosting.ChannelManagerService
Public Sub New (endpoints As IList(Of ServiceEndpoint))

Parametri

endpoints
IList<ServiceEndpoint>

Raccolta di endpoint servizio.

Esempio

Nell'esempio seguente viene illustrato come creare una nuova istanza dell'oggetto ChannelManagerService. Questo esempio è stato adattato dall'esempio SDK WorkflowServiceUtility.

contextFileName = localServiceHost.Description.ServiceType.Name + contextFileExtension;

// add local client endpoints
workflowRuntime = this.Description.Behaviors.Find<WorkflowRuntimeBehavior>().WorkflowRuntime;
workflowRuntime.AddService(new ChannelManagerService(localServiceHost.ClientEndpoints));

localServiceHost.Open();
contextFileName = localServiceHost.Description.ServiceType.Name & contextFileExtension

' add local client endpoints.
workflowRuntime = Me.Description.Behaviors.Find(Of WorkflowRuntimeBehavior)().WorkflowRuntime
workflowRuntime.AddService(New ChannelManagerService(localServiceHost.ClientEndpoints))

localServiceHost.Open()

Commenti

Istanze della classe ChannelManagerService vengono generalmente create dal runtime utilizzando file di configurazione.

Gli endpoint definiti nel costruttore del servizio verranno utilizzati per creare canali che corrispondono al nome di configurazione nella proprietà ChannelToken. Gli endpoint definiti nella configurazione hanno la precedenza sugli endpoint definiti nel codice, pertanto se un endpoint del servizio aggiunto tramite codice ha lo stesso nome e tipo di contratto di uno nel file di configurazione, l'endpoint definito nel codice non verrà utilizzato.

Si applica a

ChannelManagerService(NameValueCollection)

Inizializza una nuova istanza della classe ChannelManagerService.

public:
 ChannelManagerService(System::Collections::Specialized::NameValueCollection ^ parameters);
public ChannelManagerService (System.Collections.Specialized.NameValueCollection parameters);
new System.Workflow.Runtime.Hosting.ChannelManagerService : System.Collections.Specialized.NameValueCollection -> System.Workflow.Runtime.Hosting.ChannelManagerService
Public Sub New (parameters As NameValueCollection)

Parametri

parameters
NameValueCollection

Parametri di configurazione del servizio.

Esempio

Nell'esempio seguente viene illustrato come creare una nuova istanza dell'oggetto ChannelManagerService.

NameValueCollection parameters = new NameValueCollection();
parameters.Add("idleTimeout", TimeSpan.FromMinutes(10).ToString());
parameters.Add("leaseTimeout", TimeSpan.FromMinutes(1).ToString());
parameters.Add("maxIdleChannelsPerEndpoint", "10");
ChannelManagerService service = new ChannelManagerService(parameters);
Dim parameters As New NameValueCollection()
With parameters
    .Add("idleTimeout", TimeSpan.FromMinutes(10).ToString())
    .Add("leaseTimeout", TimeSpan.FromMinutes(1).ToString())
    .Add("maxIdleChannelsPerEndpoint", "10")
End With
Dim service As New ChannelManagerService(parameters)

Commenti

Sono supportati i seguenti parametri:

  • idleTimeout: valore massimo TimeSpan che un canale memorizzato nella cache può essere inattiva.

  • leaseTimeout: TimeSpan massimo entro il quale un canale memorizzato nella cache può essere estratto o utilizzato da una SendActivity.

  • maxIdleChannelsPerEndpoint: numero massimo di canali inattive corrispondenti a un singolo endpoint che può essere memorizzato nella cache in qualsiasi momento.

Istanze della classe ChannelManagerService vengono generalmente create dal runtime utilizzando file di configurazione.

Si applica a

ChannelManagerService(ChannelPoolSettings)

Inizializza una nuova istanza della classe ChannelManagerService.

public:
 ChannelManagerService(System::ServiceModel::Channels::ChannelPoolSettings ^ settings);
public ChannelManagerService (System.ServiceModel.Channels.ChannelPoolSettings settings);
new System.Workflow.Runtime.Hosting.ChannelManagerService : System.ServiceModel.Channels.ChannelPoolSettings -> System.Workflow.Runtime.Hosting.ChannelManagerService
Public Sub New (settings As ChannelPoolSettings)

Parametri

settings
ChannelPoolSettings

Impostazioni per le quote per il pool di canali gestiti da questo servizio.

Esempio

Nell'esempio seguente viene illustrato come creare una nuova istanza dell'oggetto ChannelManagerService.

ChannelPoolSettings settings = new ChannelPoolSettings();
settings.IdleTimeout = TimeSpan.FromMinutes(10);
settings.LeaseTimeout = TimeSpan.FromMinutes(1);
settings.MaxOutboundChannelsPerEndpoint = 10;
ChannelManagerService service = new ChannelManagerService(settings);
Dim settings As New ChannelPoolSettings()
With settings
    .IdleTimeout = TimeSpan.FromMinutes(10)
    .LeaseTimeout = TimeSpan.FromMinutes(1)
    .MaxOutboundChannelsPerEndpoint = 10
End With
Dim service As New ChannelManagerService(settings)

Si applica a

ChannelManagerService(ChannelPoolSettings, IList<ServiceEndpoint>)

Inizializza una nuova istanza della classe ChannelManagerService.

public:
 ChannelManagerService(System::ServiceModel::Channels::ChannelPoolSettings ^ settings, System::Collections::Generic::IList<System::ServiceModel::Description::ServiceEndpoint ^> ^ endpoints);
public ChannelManagerService (System.ServiceModel.Channels.ChannelPoolSettings settings, System.Collections.Generic.IList<System.ServiceModel.Description.ServiceEndpoint> endpoints);
new System.Workflow.Runtime.Hosting.ChannelManagerService : System.ServiceModel.Channels.ChannelPoolSettings * System.Collections.Generic.IList<System.ServiceModel.Description.ServiceEndpoint> -> System.Workflow.Runtime.Hosting.ChannelManagerService
Public Sub New (settings As ChannelPoolSettings, endpoints As IList(Of ServiceEndpoint))

Parametri

settings
ChannelPoolSettings

Impostazioni per le quote per il pool di canali gestiti da questo servizio.

endpoints
IList<ServiceEndpoint>

Raccolta di endpoint servizio.

Esempio

Nell'esempio seguente viene illustrato come creare una nuova istanza dell'oggetto ChannelManagerService.

ChannelPoolSettings settings = new ChannelPoolSettings();
settings.IdleTimeout = TimeSpan.FromMinutes(10);
settings.LeaseTimeout = TimeSpan.FromMinutes(1);
settings.MaxOutboundChannelsPerEndpoint = 10;
IList<ServiceEndpoint> endpoints = new List<ServiceEndpoint>();
endpoints.Add(new ServiceEndpoint(contractDescription));
ChannelManagerService service = new ChannelManagerService(settings, endpoints);
Dim settings As New ChannelPoolSettings()
With settings
    settings.IdleTimeout = TimeSpan.FromMinutes(10)
    settings.LeaseTimeout = TimeSpan.FromMinutes(1)
    settings.MaxOutboundChannelsPerEndpoint = 10
End With
Dim endpoints As IList(Of ServiceEndpoint) = New List(Of ServiceEndpoint)()
endpoints.Add(New ServiceEndpoint(contractDescription))
Dim service As New ChannelManagerService(settings, endpoints)

Si applica a