Share via


ClientBase<TChannel> Konstruktor

Definisi

Menginisialisasi instans baru kelas ClientBase<TChannel>.

Overload

ClientBase<TChannel>()

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan titik akhir target default dari file konfigurasi aplikasi.

ClientBase<TChannel>(InstanceContext, String, String)

Menginisialisasi instans baru kelas ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Menginisialisasi instans baru kelas ClientBase<TChannel>.

ClientBase<TChannel>(String, String)

Menginisialisasi instans baru kelas ClientBase<TChannel>.

ClientBase<TChannel>(String, EndpointAddress)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan alamat target dan informasi titik akhir yang ditentukan.

ClientBase<TChannel>(InstanceContext, String)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan layanan panggilan balik dan informasi konfigurasi titik akhir yang ditentukan.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Menginisialisasi instans baru kelas ClientBase<TChannel>.

ClientBase<TChannel>(Binding, EndpointAddress)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan pengikatan dan alamat target yang ditentukan.

ClientBase<TChannel>(String)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan informasi konfigurasi yang ditentukan dalam file konfigurasi aplikasi dengan endpointConfigurationName.

ClientBase<TChannel>(InstanceContext)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan callbackInstance sebagai objek panggilan balik dalam percakapan dupleks.

ClientBase<TChannel>(ServiceEndpoint)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan ServiceEndpoint.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan objek dan ServiceEndpoint yang ditentukanInstanceContext.

Keterangan

Gunakan untuk membuat objek klien WCF dari informasi titik akhir dalam file konfigurasi aplikasi. Fungsi utama konstruktor adalah membuat System.ServiceModel.ChannelFactory<TChannel> di mana parameter jenis adalah jenis kontrak layanan target.

ClientBase<TChannel>()

Sumber:
ClientBase.cs
Sumber:
ClientBase.cs
Sumber:
ClientBase.cs

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan titik akhir target default dari file konfigurasi aplikasi.

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

Pengecualian

Tidak ada informasi titik akhir default dalam file konfigurasi, lebih dari satu titik akhir dalam file, atau tidak ada file konfigurasi.

Contoh

Contoh kode berikut menunjukkan bagaimana klien menggunakan konstruktor ini di SampleServiceClient kelas yang memperluas ClientBase<TChannel> kelas.

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

Keterangan

Gunakan konstruktor ini untuk membuat objek klien WCF untuk memanggil layanan. Konstruktor ini menggunakan parameter jenis sebagai kontrak target dan informasi pengikatan dan alamat dari file konfigurasi aplikasi.

Berlaku untuk

ClientBase<TChannel>(InstanceContext, String, String)

Menginisialisasi instans baru kelas 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)

Parameter

callbackInstance
InstanceContext

Objek panggilan balik yang digunakan klien untuk mendengarkan pesan dari layanan yang terhubung.

endpointConfigurationName
String

Nama titik akhir dalam file konfigurasi aplikasi.

remoteAddress
String

Alamat layanan.

Pengecualian

Instans panggilan balik, endpointConfigurationName, atau remoteAddress adalah null.

Titik akhir tidak dapat ditemukan atau kontrak titik akhir tidak valid.

Keterangan

Gunakan konstruktor ini untuk meneruskan objek layanan yang mengimplementasikan kontrak panggilan balik untuk layanan target dan menentukan informasi titik akhir target dari nama titik akhir dalam file konfigurasi aplikasi (Nilai target terletak dengan menemukan name atribut elemen titik> akhir klien<) dan alamat yang ditentukan.

Lihat juga

Berlaku untuk

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Sumber:
ClientBase.cs
Sumber:
ClientBase.cs
Sumber:
ClientBase.cs

Menginisialisasi instans baru kelas 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)

Parameter

callbackInstance
InstanceContext

Layanan panggilan balik.

binding
Binding

Pengikatan untuk memanggil layanan.

remoteAddress
EndpointAddress

Alamat titik akhir layanan.

Pengecualian

Instans panggilan balik, binding, atau remoteAddress adalah null.

Berlaku untuk

ClientBase<TChannel>(String, String)

Sumber:
ClientBase.cs
Sumber:
ClientBase.cs

Menginisialisasi instans baru kelas 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)

Parameter

endpointConfigurationName
String

Nama titik akhir dalam file konfigurasi aplikasi.

remoteAddress
String

Alamat layanan.

Pengecualian

endpointConfigurationName atau remoteAddress adalah null.

Titik akhir tidak dapat ditemukan atau kontrak titik akhir tidak valid.

Keterangan

Gunakan konstruktor ini untuk menentukan informasi titik akhir target dari nama titik akhir dalam file konfigurasi aplikasi (Nilai target terletak dengan menemukan name atribut elemen titik> akhir klien<) dan alamat yang ditentukan.

Lihat juga

Berlaku untuk

ClientBase<TChannel>(String, EndpointAddress)

Sumber:
ClientBase.cs
Sumber:
ClientBase.cs

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan alamat target dan informasi titik akhir yang ditentukan.

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)

Parameter

endpointConfigurationName
String

Nama titik akhir dalam file konfigurasi aplikasi.

remoteAddress
EndpointAddress

Alamat layanan.

Pengecualian

endpointConfigurationName atau remoteAddress adalah null.

Titik akhir tidak dapat ditemukan atau kontrak titik akhir tidak valid.

Keterangan

Gunakan konstruktor ini untuk menentukan informasi titik akhir target dari nama titik akhir dalam file konfigurasi aplikasi (Nilai target terletak dengan menemukan name atribut elemen titik> akhir klien<) dan alamat yang ditentukan.

Berlaku untuk

ClientBase<TChannel>(InstanceContext, String)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan layanan panggilan balik dan informasi konfigurasi titik akhir yang ditentukan.

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)

Parameter

callbackInstance
InstanceContext

Objek panggilan balik yang digunakan klien untuk mendengarkan pesan dari layanan yang terhubung.

endpointConfigurationName
String

Nama titik akhir dalam file konfigurasi aplikasi.

Pengecualian

Instans panggilan balik atau endpointConfigurationName adalah null.

Titik akhir tidak dapat ditemukan atau kontrak titik akhir tidak valid.

Keterangan

Gunakan konstruktor ini untuk meneruskan objek layanan yang mengimplementasikan kontrak panggilan balik untuk layanan target dan menentukan informasi titik akhir target dari file konfigurasi aplikasi klien. Nilai target terletak dengan menemukan name atribut elemen titik> akhir klien<.

Berlaku untuk

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Menginisialisasi instans baru kelas 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)

Parameter

callbackInstance
InstanceContext

Objek panggilan balik yang digunakan klien untuk mendengarkan pesan dari layanan yang terhubung.

endpointConfigurationName
String

Nama titik akhir dalam file konfigurasi aplikasi.

remoteAddress
EndpointAddress

Alamat layanan.

Pengecualian

Instans panggilan balik, endpointConfigurationName, atau remoteAddress adalah null.

Titik akhir tidak dapat ditemukan atau kontrak titik akhir tidak valid.

Keterangan

Gunakan konstruktor ini untuk meneruskan objek layanan yang mengimplementasikan kontrak panggilan balik untuk layanan target dan menentukan informasi titik akhir target dari nama titik akhir dalam file konfigurasi aplikasi (Nilai target terletak dengan menemukan name atribut elemen titik> akhir klien<) dan alamat yang ditentukan.

Lihat juga

Berlaku untuk

ClientBase<TChannel>(Binding, EndpointAddress)

Sumber:
ClientBase.cs
Sumber:
ClientBase.cs
Sumber:
ClientBase.cs

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan pengikatan dan alamat target yang ditentukan.

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)

Parameter

binding
Binding

Pengikatan untuk melakukan panggilan ke layanan.

remoteAddress
EndpointAddress

Alamat titik akhir layanan.

Pengecualian

binding atau remoteAddress adalah null.

Berlaku untuk

ClientBase<TChannel>(String)

Sumber:
ClientBase.cs
Sumber:
ClientBase.cs

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan informasi konfigurasi yang ditentukan dalam file konfigurasi aplikasi dengan 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)

Parameter

endpointConfigurationName
String

Nama titik akhir dalam file konfigurasi aplikasi.

Pengecualian

Informasi titik akhir yang ditentukan adalah null.

Titik akhir tidak dapat ditemukan atau kontrak titik akhir tidak valid.

Keterangan

Gunakan konstruktor ini ketika ada lebih dari satu titik akhir target dalam file konfigurasi aplikasi. Nilai ini adalah name atribut elemen titik> akhir klien<.

Berlaku untuk

ClientBase<TChannel>(InstanceContext)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan callbackInstance sebagai objek panggilan balik dalam percakapan dupleks.

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)

Parameter

callbackInstance
InstanceContext

Objek panggilan balik yang digunakan aplikasi klien untuk mendengarkan pesan dari layanan yang terhubung.

Pengecualian

Instans panggilan balik adalah null.

Tidak ada informasi titik akhir default dalam file konfigurasi, lebih dari satu titik akhir dalam file, atau tidak ada file konfigurasi.

Contoh

Contoh kode berikut menunjukkan cara menggunakan konstruktor ini dengan SampleDuplexHelloClient kelas untuk meneruskan objek panggilan balik yang mendengarkan pesan dari layanan.

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

Keterangan

Gunakan konstruktor ini saat kontrak layanan memerlukan instans layanan panggilan balik. Titik akhir target dibangun dari parameter jenis dan informasi dalam file konfigurasi aplikasi.

Lihat juga

Berlaku untuk

ClientBase<TChannel>(ServiceEndpoint)

Sumber:
ClientBase.cs
Sumber:
ClientBase.cs
Sumber:
ClientBase.cs

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan ServiceEndpoint.

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)

Parameter

endpoint
ServiceEndpoint

Titik akhir untuk layanan yang memungkinkan klien menemukan dan berkomunikasi dengan layanan.

Berlaku untuk

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Menginisialisasi instans ClientBase<TChannel> baru kelas menggunakan objek dan ServiceEndpoint yang ditentukanInstanceContext.

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)

Parameter

callbackInstance
InstanceContext

Objek panggilan balik yang digunakan aplikasi klien untuk mendengarkan pesan dari layanan yang terhubung.

endpoint
ServiceEndpoint

Titik akhir untuk layanan yang memungkinkan klien menemukan dan berkomunikasi dengan layanan.

Berlaku untuk