Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ChannelFactory-Klasse

 

Veröffentlicht: Oktober 2016

Erstellt und verwaltet die Kanäle, die von Clients zum Senden von Nachrichten an Dienstendpunkte verwendet werden.

Namespace:   System.ServiceModel
Assembly:  System.ServiceModel (in System.ServiceModel.dll)


public abstract class ChannelFactory : CommunicationObject, IChannelFactory, 
	ICommunicationObject, IDisposable

NameBeschreibung
System_CAPS_protmethodChannelFactory()

Initialisiert eine neue Instanz der ChannelFactory-Klasse.

NameBeschreibung
System_CAPS_pubpropertyCredentials

Ruft die Anmeldeinformationen ab, die von Clients für die Kommunikation mit einem Dienstendpunkt über die von der Factory erzeugten Kanäle verwendet werden.

System_CAPS_protpropertyDefaultCloseTimeout

Ruft das Standardzeitintervall ab, das für den Abschluss eines Schließvorgangs bereitgestellt wird.(Überschreibt CommunicationObject.DefaultCloseTimeout.)

System_CAPS_protpropertyDefaultOpenTimeout

Ruft das Zeitintervall ab, das für den Abschluss eines Öffnungsvorgangs bereitgestellt wird.(Überschreibt CommunicationObject.DefaultOpenTimeout.)

System_CAPS_pubpropertyEndpoint

Ruft den Dienstendpunkt ab, zu dem die von der Factory erzeugten Kanäle eine Verbindung aufbauen.

System_CAPS_protpropertyIsDisposed

Ruft einen Wert ab, mit dem angegeben wird, ob das Kommunikationsobjekt verworfen wurde.(Geerbt von „CommunicationObject“.)

System_CAPS_pubpropertyState

Ruft einen Wert ab, der den aktuellen Zustand des Kommunikationsobjekts angibt.(Geerbt von „CommunicationObject“.)

System_CAPS_protpropertyThisLock

Ruft die gegenseitig exklusive Sperre ab, die die Klasseninstanz während eines Zustandsübergangs schützt.(Geerbt von „CommunicationObject“.)

NameBeschreibung
System_CAPS_pubmethodAbort()

Bewirkt, dass ein Kommunikationsobjekt unmittelbar vom aktuellen Zustand in den Schließzustand übergeht.(Geerbt von „CommunicationObject“.)

System_CAPS_protmethodApplyConfiguration(String)

Initialisiert die Kanalfactory mit den Verhaltensweisen, die von einer bestimmten Konfigurationsdatei bereitgestellt werden, sowie mit den Verhaltensweisen im Dienstendpunkt der Kanalfactory.

System_CAPS_pubmethodBeginClose(AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu schließen.(Geerbt von „CommunicationObject“.)

System_CAPS_pubmethodBeginClose(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt mit einem festgelegten Timeout zu schließen.(Geerbt von „CommunicationObject“.)

System_CAPS_pubmethodBeginOpen(AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu öffnen.(Geerbt von „CommunicationObject“.)

System_CAPS_pubmethodBeginOpen(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt innerhalb eines festgelegten Zeitraums zu öffnen.(Geerbt von „CommunicationObject“.)

System_CAPS_pubmethodClose()

Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den geschlossenen Zustand übergeht.(Geerbt von „CommunicationObject“.)

System_CAPS_pubmethodClose(TimeSpan)

Bewirkt den Übergang eines Kommunikationsobjekts innerhalb eines angegebenen Zeitraums vom aktuellen Zustand in den geschlossenen Zustand.(Geerbt von „CommunicationObject“.)

System_CAPS_protmethodCreateDescription()

Erstellt beim Implementieren in einer abgeleiteten Klasse eine Beschreibung des Dienstendpunkts, der der Kanalfactory zugeordnet ist.

System_CAPS_protmethodCreateFactory()

Erstellt die Kanalfactory für den aktuellen Endpunkt der Factory.

System_CAPS_pubmethodEndClose(IAsyncResult)

Beendet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu schließen.(Geerbt von „CommunicationObject“.)

System_CAPS_pubmethodEndOpen(IAsyncResult)

Beendet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu öffnen.(Geerbt von „CommunicationObject“.)

System_CAPS_protmethodEnsureOpened()

Öffnet die aktuelle Kanalfactory, sofern diese noch nicht geöffnet ist.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFault()

Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den Fehlerzustand übergeht.(Geerbt von „CommunicationObject“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_protmethodGetCommunicationObjectType()

Ruft den Typ des Kommunikationsobjekts ab.(Geerbt von „CommunicationObject“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetProperty<T>()

Gibt das angeforderte typisierte Objekt von der entsprechenden Ebene im Kanalstapel zurück, wenn es vorhanden ist, oder null, wenn es nicht vorhanden ist.

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_protmethodInitializeEndpoint(Binding, EndpointAddress)

Initialisiert den Dienstendpunkt der Kanalfactory mit einer angegebenen Bindung und Adresse.

System_CAPS_protmethodInitializeEndpoint(ServiceEndpoint)

Initialisiert den Dienstendpunkt der Kanalfactory mit einem angegebenen Endpunkt.

System_CAPS_protmethodInitializeEndpoint(String, EndpointAddress)

Initialisiert den Dienstendpunkt der Kanalfactory mit einer angegebenen Adresse und Konfiguration.

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_protmethodOnAbort()

Beendet die innere Kanalfactory der aktuellen Kanalfactory.(Überschreibt CommunicationObject.OnAbort().)

System_CAPS_protmethodOnBeginClose(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Schließvorgang in der inneren Kanalfactory der aktuellen Kanalfactory, der ein Statusobjekt zugeordnet ist.(Überschreibt CommunicationObject.OnBeginClose(TimeSpan, AsyncCallback, Object).)

System_CAPS_protmethodOnBeginOpen(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Öffnungsvorgang in der inneren Kanalfactory der aktuellen Kanalfactory, der ein Statusobjekt zugeordnet ist.(Überschreibt CommunicationObject.OnBeginOpen(TimeSpan, AsyncCallback, Object).)

System_CAPS_protmethodOnClose(TimeSpan)

Aufrufe werden in der inneren Kanalfactory mit einem angegebenen Timeout zum Abschluss des Vorgangs geschlossen.(Überschreibt CommunicationObject.OnClose(TimeSpan).)

System_CAPS_protmethodOnClosed()

Wird während des Übergangs eines Kommunikationsobjekts in den Schließzustand aufgerufen.(Geerbt von „CommunicationObject“.)

System_CAPS_protmethodOnClosing()

Wird während des Übergangs eines Kommunikationsobjekts in den Schließzustand aufgerufen.(Geerbt von „CommunicationObject“.)

System_CAPS_protmethodOnEndClose(IAsyncResult)

Schließt einen asynchronen Schließvorgang in der inneren Kanalfactory der aktuellen Kanalfactory ab.(Überschreibt CommunicationObject.OnEndClose(IAsyncResult).)

System_CAPS_protmethodOnEndOpen(IAsyncResult)

Schließt einen asynchronen Öffnungsvorgang in der inneren Kanalfactory der aktuellen Kanalfactory ab.(Überschreibt CommunicationObject.OnEndOpen(IAsyncResult).)

System_CAPS_protmethodOnFaulted()

Fügt Verarbeitung auf einem Kommunikationsobjekt ein, nachdem aufgrund des Aufrufs eines synchronen Fehlervorgangs der Übergang zum Fehlerzustand stattgefunden hat.(Geerbt von „CommunicationObject“.)

System_CAPS_protmethodOnOpen(TimeSpan)

Aufrufe werden in der inneren Kanalfactory der aktuellen Kanalfactory mit einem angegebenen Timeout zum Abschluss des Vorgangs geöffnet.(Überschreibt CommunicationObject.OnOpen(TimeSpan).)

System_CAPS_protmethodOnOpened()

Initialisiert eine schreibgeschützte Kopie des ClientCredentials-Objekts für die Kanalfactory.(Überschreibt CommunicationObject.OnOpened().)

System_CAPS_protmethodOnOpening()

Erstellt die innere Kanalfactory für den aktuellen Kanal.(Überschreibt CommunicationObject.OnOpening().)

System_CAPS_pubmethodOpen()

Bewirkt den Übergang eines Kommunikationsobjekts aus dem Erstellt-Zustand in den Geöffnet-Zustand.(Geerbt von „CommunicationObject“.)

System_CAPS_pubmethodOpen(TimeSpan)

Bewirkt den Übergang eines Kommunikationsobjekts innerhalb eines angegebenen Zeitraums vom Erstellt-Zustand in den Geöffnet-Zustand.(Geerbt von „CommunicationObject“.)

System_CAPS_protmethodThrowIfDisposed()

Löst eine Ausnahme aus, wenn das Kommunikationsobjekt verworfen wird.(Geerbt von „CommunicationObject“.)

System_CAPS_protmethodThrowIfDisposedOrImmutable()

Löst eine Ausnahme aus, wenn das Kommunikationsobjekt der State-Eigenschaft nicht auf den Created-Zustand festgelegt wurde.(Geerbt von „CommunicationObject“.)

System_CAPS_protmethodThrowIfDisposedOrNotOpen()

Löst eine Ausnahme aus, wenn sich das Kommunikationsobjekt nicht im Opened-Zustand befindet.(Geerbt von „CommunicationObject“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubeventClosed

Tritt ein, sobald ein Kommunikationsobjekt in den geschlossenen Zustand übergeht.(Geerbt von „CommunicationObject“.)

System_CAPS_pubeventClosing

Tritt ein, sobald ein Kommunikationsobjekt in den Schließzustand übergeht.(Geerbt von „CommunicationObject“.)

System_CAPS_pubeventFaulted

Tritt ein, sobald ein Kommunikationsobjekt in den Fehlerzustand übergeht.(Geerbt von „CommunicationObject“.)

System_CAPS_pubeventOpened

Tritt ein, sobald ein Kommunikationsobjekt in den Geöffnet-Zustand übergeht.(Geerbt von „CommunicationObject“.)

System_CAPS_pubeventOpening

Tritt ein, sobald ein Kommunikationsobjekt in den Öffnungszustand übergeht.(Geerbt von „CommunicationObject“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDisposable.Dispose()

Schließt die aktuelle Kanalfactory.

Channel factories that implement the T:System.ServiceModel.Channels.IChannelFactory interface and their associated channels are generally used by the initiators of a communication pattern. Listener factories that implement the T:System.ServiceModel.Channels.IChannelListener interface and their associated listeners provide the mechanisms with which channels are accepted for communications.

This class is not part of the channel model, but of the service model. The M:System.ServiceModel.ChannelFactory.CreateFactory method provides the means to create an T:System.ServiceModel.Channels.IChannelFactory for a service endpoint. Use it to construct a client that hooks up to an interface contract on the service without using metadata or policy.

System_CAPS_noteHinweis

Setting ChannelFactory.Credentials.Windows.AllowedImpersonationLevel to TokenImpersonationLevel.Anonymous always results in an anonymous logon regardless of impersonation level.

Special note for Managed C++ users deriving from this class:

  • Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Avoid destructors; they cause the compiler to auto-generate T:System.IDisposable.

  • Avoid non-reference members; they can cause the compiler to auto-generate T:System.IDisposable.

  • Avoid using a finalizer; but if you include one, you should suppress the build warning and call M:System.GC.SuppressFinalize(System.Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated T:System.IDisposable behavior.

When adding behaviors programmatically, the behavior is added to the appropriate Behaviors property on the T:System.ServiceModel.ChannelFactory prior to the creation of any channel. See the example section for a code sample.

The following code example shows how to insert programmatically a client behavior prior to the creation of the channel object by the factory.

public class Client
{
  public static void Main()
  {
    try
    {
      // Picks up configuration from the config file.
      ChannelFactory<ISampleServiceChannel> factory 
        = new ChannelFactory<ISampleServiceChannel>("WSHttpBinding_ISampleService");

      // Add the client side behavior programmatically to all created channels.
      factory.Endpoint.Behaviors.Add(new EndpointBehaviorMessageInspector());

      ISampleServiceChannel wcfClientChannel = factory.CreateChannel();

      // Making calls.
      Console.WriteLine("Enter the greeting to send: ");
      string greeting = Console.ReadLine();
      Console.WriteLine("The service responded: " + wcfClientChannel.SampleMethod(greeting));

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

      // Done with service. 
      wcfClientChannel.Close();
      Console.WriteLine("Done!");
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine("The service operation timed out. " + timeProblem.Message);
      Console.Read();
    }
    catch (FaultException<SampleFault> fault)
    {
      Console.WriteLine("SampleFault fault occurred: {0}", fault.Detail.FaultMessage);
      Console.Read();
    }
    catch (CommunicationException commProblem)
    {
      Console.WriteLine("There was a communication problem. " + commProblem.Message);
      Console.Read();
    }
  }

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: