Condividi tramite


ClientBase<TChannel> Costruttori

Definizione

Inizializza una nuova istanza della classe ClientBase<TChannel>.

Overload

ClientBase<TChannel>()

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando l'endpoint di destinazione predefinito del file di configurazione dell'applicazione.

ClientBase<TChannel>(InstanceContext, String, String)

Inizializza una nuova istanza della classe ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Inizializza una nuova istanza della classe ClientBase<TChannel>.

ClientBase<TChannel>(String, String)

Inizializza una nuova istanza della classe ClientBase<TChannel>.

ClientBase<TChannel>(String, EndpointAddress)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando le informazioni sull'endpoint e sull'indirizzo di destinazione specificate.

ClientBase<TChannel>(InstanceContext, String)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando il servizio di callback e le informazioni di configurazione dell'endpoint specificati.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Inizializza una nuova istanza della classe ClientBase<TChannel>.

ClientBase<TChannel>(Binding, EndpointAddress)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando l'associazione e l'indirizzo endpoint specificati.

ClientBase<TChannel>(String)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando le informazioni di configurazione specificate nel file di configurazione dell'applicazione mediante il parametro endpointConfigurationName.

ClientBase<TChannel>(InstanceContext)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando il parametro callbackInstance come oggetto di callback in una conversazione duplex.

ClientBase<TChannel>(ServiceEndpoint)

Inizializza una nuova istanza della classe ClientBase<TChannel> usando il ServiceEndpoint specificato.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Inizializza una nuova istanza della classe ClientBase<TChannel> tramite gli oggetti InstanceContext e ServiceEndpoint specificati.

Commenti

Usare per creare un oggetto client WCF dalle informazioni sull'endpoint nel file di configurazione dell'applicazione. La funzione principale del costruttore è quella di creare una classe System.ServiceModel.ChannelFactory<TChannel> in cui il parametro di tipo è il tipo del contratto di servizio di destinazione.

ClientBase<TChannel>()

Origine:
ClientBase.cs
Origine:
ClientBase.cs
Origine:
ClientBase.cs

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando l'endpoint di destinazione predefinito del file di configurazione dell'applicazione.

protected:
 ClientBase();
protected ClientBase ();
Protected Sub New ()

Eccezioni

Nel file di configurazione non sono presenti informazioni sull'endpoint predefinito o è presente più di un endpoint oppure non esiste alcun file di configurazione.

Esempio

Nell'esempio di codice seguente viene illustrato come un client utilizza questo costruttore in una classe SampleServiceClient che estende la classe ClientBase<TChannel>.

using System;
using System.ServiceModel;
using System.ServiceModel.Channels;

public class Client
{
  public static void Main()
  {
    // Picks up configuration from the config file.
    SampleServiceClient wcfClient = new SampleServiceClient();
    try
    {
        // Making calls.
        Console.WriteLine("Enter the greeting to send: ");
        string greeting = Console.ReadLine();
        Console.WriteLine("The service responded: " + wcfClient.SampleMethod(greeting));

        Console.WriteLine("Press ENTER to exit:");
        Console.ReadLine();

        // Done with service.
        wcfClient.Close();
        Console.WriteLine("Done!");
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine("The service operation timed out. " + timeProblem.Message);
      wcfClient.Abort();
      Console.Read();
    }
    catch(CommunicationException commProblem)
    {
      Console.WriteLine("There was a communication problem. " + commProblem.Message);
      wcfClient.Abort();
      Console.Read();
    }
  }
}


Imports System.ServiceModel
Imports System.ServiceModel.Channels

Public Class Client
  Public Shared Sub Main()
    ' Picks up configuration from the config file.
    Dim wcfClient As New SampleServiceClient()
    Try
        ' Making calls.
        Console.WriteLine("Enter the greeting to send: ")
            Dim greeting = Console.ReadLine()
        Console.WriteLine("The service responded: " & wcfClient.SampleMethod(greeting))

        Console.WriteLine("Press ENTER to exit:")
        Console.ReadLine()

        ' Done with service. 
        wcfClient.Close()
        Console.WriteLine("Done!")
    Catch timeProblem As TimeoutException
      Console.WriteLine("The service operation timed out. " & timeProblem.Message)
      wcfClient.Abort()
      Console.Read()
    Catch commProblem As CommunicationException
      Console.WriteLine("There was a communication problem. " & commProblem.Message)
      wcfClient.Abort()
      Console.Read()
    End Try
  End Sub
End Class

Commenti

Usare questo costruttore per creare un oggetto client WCF per richiamare un servizio. Il costruttore utilizza il parametro di tipo come contratto di destinazione e le informazioni sull'associazione e sull'indirizzo del file di configurazione dell'applicazione.

Si applica a

ClientBase<TChannel>(InstanceContext, String, String)

Inizializza una nuova istanza della classe ClientBase<TChannel>.

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance, System::String ^ endpointConfigurationName, System::String ^ remoteAddress);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance, string endpointConfigurationName, string remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext * string * string -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext, endpointConfigurationName As String, remoteAddress As String)

Parametri

callbackInstance
InstanceContext

Oggetto di callback utilizzato dal client per ascoltare i messaggi in arrivo dal servizio connesso.

endpointConfigurationName
String

Nome dell'endpoint nel file di configurazione dell'applicazione.

remoteAddress
String

Indirizzo del servizio.

Eccezioni

L'istanza di callback, endpointConfigurationName o remoteAddress è null.

L'endpoint non è stato trovato o il contratto dell'endpoint non è valido.

Commenti

Usare questo costruttore per passare un oggetto servizio che implementa il contratto di callback per il servizio di destinazione e determinare le informazioni sull'endpoint di destinazione dal nome dell'endpoint in un file di configurazione dell'applicazione (il valore di destinazione si trova individuando l'attributo name dell'elemento endpoint> client<) e l'indirizzo specificato.

Vedi anche

Si applica a

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Origine:
ClientBase.cs
Origine:
ClientBase.cs
Origine:
ClientBase.cs

Inizializza una nuova istanza della classe ClientBase<TChannel>.

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance, System::ServiceModel::Channels::Binding ^ binding, System::ServiceModel::EndpointAddress ^ remoteAddress);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance, System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext * System.ServiceModel.Channels.Binding * System.ServiceModel.EndpointAddress -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext, binding As Binding, remoteAddress As EndpointAddress)

Parametri

callbackInstance
InstanceContext

Servizio di callback.

binding
Binding

Associazione da utilizzare per chiamare il servizio.

remoteAddress
EndpointAddress

L'indirizzo dell'endpoint del servizio.

Eccezioni

L'istanza di callback, binding o remoteAddress è null.

Si applica a

ClientBase<TChannel>(String, String)

Origine:
ClientBase.cs
Origine:
ClientBase.cs

Inizializza una nuova istanza della classe ClientBase<TChannel>.

protected:
 ClientBase(System::String ^ endpointConfigurationName, System::String ^ remoteAddress);
protected ClientBase (string endpointConfigurationName, string remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : string * string -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (endpointConfigurationName As String, remoteAddress As String)

Parametri

endpointConfigurationName
String

Nome dell'endpoint nel file di configurazione dell'applicazione.

remoteAddress
String

Indirizzo del servizio.

Eccezioni

endpointConfigurationName o remoteAddress è null.

L'endpoint non è stato trovato o il contratto dell'endpoint non è valido.

Commenti

Usare questo costruttore per determinare le informazioni sull'endpoint di destinazione dal nome dell'endpoint in un file di configurazione dell'applicazione (il valore di destinazione si trova individuando l'attributo name dell'elemento endpoint> client<) e l'indirizzo specificato.

Vedi anche

Si applica a

ClientBase<TChannel>(String, EndpointAddress)

Origine:
ClientBase.cs
Origine:
ClientBase.cs

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando le informazioni sull'endpoint e sull'indirizzo di destinazione specificate.

protected:
 ClientBase(System::String ^ endpointConfigurationName, System::ServiceModel::EndpointAddress ^ remoteAddress);
protected ClientBase (string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : string * System.ServiceModel.EndpointAddress -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (endpointConfigurationName As String, remoteAddress As EndpointAddress)

Parametri

endpointConfigurationName
String

Nome dell'endpoint nel file di configurazione dell'applicazione.

remoteAddress
EndpointAddress

Indirizzo del servizio.

Eccezioni

endpointConfigurationName o remoteAddress è null.

L'endpoint non è stato trovato o il contratto dell'endpoint non è valido.

Commenti

Usare questo costruttore per determinare le informazioni sull'endpoint di destinazione dal nome dell'endpoint in un file di configurazione dell'applicazione (il valore di destinazione si trova individuando l'attributo name dell'elemento endpoint> client<) e l'indirizzo specificato.

Si applica a

ClientBase<TChannel>(InstanceContext, String)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando il servizio di callback e le informazioni di configurazione dell'endpoint specificati.

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance, System::String ^ endpointConfigurationName);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance, string endpointConfigurationName);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext * string -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext, endpointConfigurationName As String)

Parametri

callbackInstance
InstanceContext

Oggetto di callback utilizzato dal client per ascoltare i messaggi in arrivo dal servizio connesso.

endpointConfigurationName
String

Nome dell'endpoint nel file di configurazione dell'applicazione.

Eccezioni

L'istanza di callback o endpointConfigurationName è null.

L'endpoint non è stato trovato o il contratto dell'endpoint non è valido.

Commenti

Utilizzare questo costruttore per passare un oggetto servizio che implementa il contratto di callback del servizio di destinazione e per ricavare le informazioni sull'endpoint di destinazione da un file di configurazione dell'applicazione client. Il valore di destinazione si trova individuando l'attributo dell'elemento nameendpoint> client<.

Si applica a

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Inizializza una nuova istanza della classe ClientBase<TChannel>.

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance, System::String ^ endpointConfigurationName, System::ServiceModel::EndpointAddress ^ remoteAddress);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance, string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext * string * System.ServiceModel.EndpointAddress -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext, endpointConfigurationName As String, remoteAddress As EndpointAddress)

Parametri

callbackInstance
InstanceContext

Oggetto di callback utilizzato dal client per ascoltare i messaggi in arrivo dal servizio connesso.

endpointConfigurationName
String

Nome dell'endpoint nel file di configurazione dell'applicazione.

remoteAddress
EndpointAddress

Indirizzo del servizio.

Eccezioni

L'istanza di callback, endpointConfigurationName o remoteAddress è null.

L'endpoint non è stato trovato o il contratto dell'endpoint non è valido.

Commenti

Usare questo costruttore per passare un oggetto servizio che implementa il contratto di callback per il servizio di destinazione e determinare le informazioni sull'endpoint di destinazione dal nome dell'endpoint in un file di configurazione dell'applicazione (il valore di destinazione si trova individuando l'attributo name dell'elemento endpoint> client<) e l'indirizzo specificato.

Vedi anche

Si applica a

ClientBase<TChannel>(Binding, EndpointAddress)

Origine:
ClientBase.cs
Origine:
ClientBase.cs
Origine:
ClientBase.cs

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando l'associazione e l'indirizzo endpoint specificati.

protected:
 ClientBase(System::ServiceModel::Channels::Binding ^ binding, System::ServiceModel::EndpointAddress ^ remoteAddress);
protected ClientBase (System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.Channels.Binding * System.ServiceModel.EndpointAddress -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (binding As Binding, remoteAddress As EndpointAddress)

Parametri

binding
Binding

Associazione da utilizzare per le chiamate al servizio.

remoteAddress
EndpointAddress

L'indirizzo dell'endpoint del servizio.

Eccezioni

binding o remoteAddress è null.

Si applica a

ClientBase<TChannel>(String)

Origine:
ClientBase.cs
Origine:
ClientBase.cs

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando le informazioni di configurazione specificate nel file di configurazione dell'applicazione mediante il parametro endpointConfigurationName.

protected:
 ClientBase(System::String ^ endpointConfigurationName);
protected ClientBase (string endpointConfigurationName);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : string -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (endpointConfigurationName As String)

Parametri

endpointConfigurationName
String

Nome dell'endpoint nel file di configurazione dell'applicazione.

Eccezioni

Le informazioni sull'endpoint specificate sono null.

L'endpoint non è stato trovato o il contratto dell'endpoint non è valido.

Commenti

Utilizzare questo costruttore quando nel file di configurazione dell'applicazione esiste più di un endpoint di destinazione. Questo valore è l'attributo dell'elemento nameendpoint> client<.

Si applica a

ClientBase<TChannel>(InstanceContext)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando il parametro callbackInstance come oggetto di callback in una conversazione duplex.

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext)

Parametri

callbackInstance
InstanceContext

Oggetto di callback utilizzato dall'applicazione client per ascoltare i messaggi in arrivo dal servizio connesso.

Eccezioni

L'istanza di callback è null.

Nel file di configurazione non sono presenti informazioni sull'endpoint predefinito o è presente più di un endpoint oppure non esiste alcun file di configurazione.

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare questo costruttore con una classe SampleDuplexHelloClient per passare un oggetto di callback in ascolto di messaggi in arrivo dal servizio.

using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Threading;

namespace Microsoft.WCF.Documentation
{
  [CallbackBehaviorAttribute(
   IncludeExceptionDetailInFaults= true,
    UseSynchronizationContext=true,
    ValidateMustUnderstand=true
  )]
  public class Client : SampleDuplexHelloCallback
  {
    AutoResetEvent waitHandle;

    public Client()
    {
      waitHandle = new AutoResetEvent(false);
    }

    public void Run()
    {
      // Picks up configuration from the configuration file.
      SampleDuplexHelloClient wcfClient
        = new SampleDuplexHelloClient(new InstanceContext(this), "WSDualHttpBinding_SampleDuplexHello");
      try
      {
        Console.ForegroundColor = ConsoleColor.White;
        Console.WriteLine("Enter a greeting to send and press ENTER: ");
        Console.Write(">>> ");
        Console.ForegroundColor = ConsoleColor.Green;
        string greeting = Console.ReadLine();
        Console.ForegroundColor = ConsoleColor.White;
        Console.WriteLine("Called service with: \r\n\t" + greeting);
        wcfClient.Hello(greeting);
        Console.WriteLine("Execution passes service call and moves to the WaitHandle.");
        this.waitHandle.WaitOne();
        Console.ForegroundColor = ConsoleColor.Blue;
        Console.WriteLine("Set was called.");
        Console.Write("Press ");
        Console.ForegroundColor = ConsoleColor.Red;
        Console.Write("ENTER");
        Console.ForegroundColor = ConsoleColor.Blue;
        Console.Write(" to exit...");
        Console.ReadLine();
      }
      catch (TimeoutException timeProblem)
      {
        Console.WriteLine("The service operation timed out. " + timeProblem.Message);
        Console.ReadLine();
      }
      catch (CommunicationException commProblem)
      {
        Console.WriteLine("There was a communication problem. " + commProblem.Message);
        Console.ReadLine();
      }
    }
    public static void Main()
    {
      Client client = new Client();
      client.Run();
    }

    public void Reply(string response)
    {
      Console.WriteLine("Received output.");
      Console.WriteLine("\r\n\t" + response);
      this.waitHandle.Set();
    }
  }
}

Imports System.ServiceModel
Imports System.ServiceModel.Channels
Imports System.Threading

Namespace Microsoft.WCF.Documentation
  <CallbackBehaviorAttribute(IncludeExceptionDetailInFaults:= True, UseSynchronizationContext:=True, ValidateMustUnderstand:=True)> _
  Public Class Client
      Implements SampleDuplexHelloCallback
    Private waitHandle As AutoResetEvent

    Public Sub New()
      waitHandle = New AutoResetEvent(False)
    End Sub

    Public Sub Run()
      ' Picks up configuration from the configuration file.
      Dim wcfClient As New SampleDuplexHelloClient(New InstanceContext(Me), "WSDualHttpBinding_SampleDuplexHello")
      Try
        Console.ForegroundColor = ConsoleColor.White
        Console.WriteLine("Enter a greeting to send and press ENTER: ")
        Console.Write(">>> ")
        Console.ForegroundColor = ConsoleColor.Green
        Dim greeting As String = Console.ReadLine()
        Console.ForegroundColor = ConsoleColor.White
        Console.WriteLine("Called service with: " & Constants.vbCrLf & Constants.vbTab & greeting)
        wcfClient.Hello(greeting)
        Console.WriteLine("Execution passes service call and moves to the WaitHandle.")
        Me.waitHandle.WaitOne()
        Console.ForegroundColor = ConsoleColor.Blue
        Console.WriteLine("Set was called.")
        Console.Write("Press ")
        Console.ForegroundColor = ConsoleColor.Red
        Console.Write("ENTER")
        Console.ForegroundColor = ConsoleColor.Blue
        Console.Write(" to exit...")
        Console.ReadLine()
      Catch timeProblem As TimeoutException
        Console.WriteLine("The service operation timed out. " & timeProblem.Message)
        Console.ReadLine()
      Catch commProblem As CommunicationException
        Console.WriteLine("There was a communication problem. " & commProblem.Message)
        Console.ReadLine()
      End Try
    End Sub
    Public Shared Sub Main()
      Dim client As New Client()
      client.Run()
    End Sub

    Public Sub Reply(ByVal response As String) Implements SampleDuplexHelloCallback.Reply
      Console.WriteLine("Received output.")
      Console.WriteLine(Constants.vbCrLf & Constants.vbTab & response)
      Me.waitHandle.Set()
    End Sub
  End Class
End Namespace

Commenti

Utilizzare questo costruttore quando il contratto di servizio richiede un'istanza del servizio di callback. L'endpoint di destinazione viene creato sulla base del parametro di tipo e delle informazioni presenti nel file di configurazione dell'applicazione.

Vedi anche

Si applica a

ClientBase<TChannel>(ServiceEndpoint)

Origine:
ClientBase.cs
Origine:
ClientBase.cs
Origine:
ClientBase.cs

Inizializza una nuova istanza della classe ClientBase<TChannel> usando il ServiceEndpoint specificato.

protected:
 ClientBase(System::ServiceModel::Description::ServiceEndpoint ^ endpoint);
protected ClientBase (System.ServiceModel.Description.ServiceEndpoint endpoint);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.Description.ServiceEndpoint -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (endpoint As ServiceEndpoint)

Parametri

endpoint
ServiceEndpoint

Endpoint per un servizio che consente ai client di individuare e comunicare con il servizio.

Si applica a

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Inizializza una nuova istanza della classe ClientBase<TChannel> tramite gli oggetti InstanceContext e ServiceEndpoint specificati.

protected:
 ClientBase(System::ServiceModel::InstanceContext ^ callbackInstance, System::ServiceModel::Description::ServiceEndpoint ^ endpoint);
protected ClientBase (System.ServiceModel.InstanceContext callbackInstance, System.ServiceModel.Description.ServiceEndpoint endpoint);
new System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)> : System.ServiceModel.InstanceContext * System.ServiceModel.Description.ServiceEndpoint -> System.ServiceModel.ClientBase<'Channel (requires 'Channel : null)>
Protected Sub New (callbackInstance As InstanceContext, endpoint As ServiceEndpoint)

Parametri

callbackInstance
InstanceContext

Oggetto di callback utilizzato dall'applicazione client per ascoltare i messaggi in arrivo dal servizio connesso.

endpoint
ServiceEndpoint

Endpoint per un servizio che consente ai client di individuare e comunicare con il servizio.

Si applica a