Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

ChannelFactory-Klasse

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

Der ChannelFactory-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsChannelFactoryInitialisiert eine neue Instanz der ChannelFactory-Klasse.
Zum Seitenanfang
  NameBeschreibung
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCredentialsRuft die Anmeldeinformationen ab, die von Clients für die Kommunikation mit einem Dienstendpunkt über die von der Factory erzeugten Kanäle verwendet werden.
Geschützte EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDefaultCloseTimeoutRuft das Standardzeitintervall ab, das für den Abschluss eines Schließvorgangs bereitgestellt wird. (Überschreibt CommunicationObject.DefaultCloseTimeout.)
Geschützte EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDefaultOpenTimeoutRuft das Zeitintervall ab, das für den Abschluss eines Öffnungsvorgangs bereitgestellt wird. (Überschreibt CommunicationObject.DefaultOpenTimeout.)
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEndpointRuft den Dienstendpunkt ab, zu dem die von der Factory erzeugten Kanäle eine Verbindung aufbauen.
Geschützte EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsDisposedRuft einen Wert ab, mit dem angegeben wird, ob das Kommunikationsobjekt verworfen wurde. (Von CommunicationObject geerbt.)
Öffentliche EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsStateRuft einen Wert ab, der den aktuellen Zustand des Kommunikationsobjekts angibt. (Von CommunicationObject geerbt.)
Geschützte EigenschaftUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsThisLockRuft die gegenseitig exklusive Sperre ab, die die Klasseninstanz während eines Zustandsübergangs schützt. (Von CommunicationObject geerbt.)
Zum Seitenanfang
  NameBeschreibung
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAbortBewirkt, dass ein Kommunikationsobjekt unmittelbar vom aktuellen Zustand in den Schließzustand übergeht. (Von CommunicationObject geerbt.)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsApplyConfigurationInitialisiert die Kanalfactory mit den Verhaltensweisen, die von einer bestimmten Konfigurationsdatei bereitgestellt werden, sowie mit den Verhaltensweisen im Dienstendpunkt der Kanalfactory.
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBeginClose(AsyncCallback, Object)Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu schließen. (Von CommunicationObject geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBeginClose(TimeSpan, AsyncCallback, Object)Startet einen asynchronen Vorgang, um mit einem festgelegten Timeout ein Kommunikationsobjekt zu schließen. (Von CommunicationObject geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBeginOpen(AsyncCallback, Object)Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu öffnen. (Von CommunicationObject geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBeginOpen(TimeSpan, AsyncCallback, Object)Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt innerhalb eines festgelegten Zeitraums zu öffnen. (Von CommunicationObject geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsClose()Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den geschlossenen Zustand übergeht. (Von CommunicationObject geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsClose(TimeSpan)Bewirkt den Übergang eines Kommunikationsobjekts innerhalb eines angegebenen Zeitraums vom aktuellen Zustand in den geschlossenen Zustand. (Von CommunicationObject geerbt.)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreateDescriptionErstellt beim Implementieren in einer abgeleiteten Klasse eine Beschreibung des Dienstendpunkts, der der Kanalfactory zugeordnet ist.
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreateFactoryErstellt die Kanalfactory für den aktuellen Endpunkt der Factory.
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEndCloseBeendet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu schließen. (Von CommunicationObject geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEndOpenBeendet einen asynchronen Vorgang, um ein Kommunikationsobjekt zu öffnen. (Von CommunicationObject geerbt.)
Geschützte MethodeUnterstützt in .NET für Windows Store-AppsEnsureOpenedÖffnet die aktuelle Kanalfactory, sofern diese noch nicht geöffnet ist.
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFaultBewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den Fehlerzustand übergeht. (Von CommunicationObject geerbt.)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetCommunicationObjectTypeRuft den Typ des Kommunikationsobjekts ab. (Von CommunicationObject geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetProperty<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.
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeUnterstützt in .NET für Windows Store-AppsInitializeEndpoint(ServiceEndpoint)Initialisiert den Dienstendpunkt der Kanalfactory mit einem angegebenen Endpunkt.
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsInitializeEndpoint(Binding, EndpointAddress)Initialisiert den Dienstendpunkt der Kanalfactory mit einer angegebenen Bindung und Adresse.
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsInitializeEndpoint(String, EndpointAddress)Initialisiert den Dienstendpunkt der Kanalfactory mit einer angegebenen Adresse und Konfiguration.
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnAbortBeendet die innere Kanalfactory der aktuellen Kanalfactory. (Überschreibt CommunicationObject.OnAbort().)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnBeginCloseStartet einen asynchronen Schließvorgang in der inneren Kanalfactory der aktuellen Kanalfactory, der ein Statusobjekt zugeordnet ist. (Überschreibt CommunicationObject.OnBeginClose(TimeSpan, AsyncCallback, Object).)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnBeginOpenStartet einen asynchronen Öffnungsvorgang in der inneren Kanalfactory der aktuellen Kanalfactory, der ein Statusobjekt zugeordnet ist. (Überschreibt CommunicationObject.OnBeginOpen(TimeSpan, AsyncCallback, Object).)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnCloseAufrufe werden in der inneren Kanalfactory mit einem angegebenen Timeout zum Abschluss des Vorgangs geschlossen. (Überschreibt CommunicationObject.OnClose(TimeSpan).)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnClosedWird während des Übergangs eines Kommunikationsobjekts in den Schließzustand aufgerufen. (Von CommunicationObject geerbt.)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnClosingWird während des Übergangs eines Kommunikationsobjekts in den Schließzustand aufgerufen. (Von CommunicationObject geerbt.)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnEndCloseSchließt einen asynchronen Schließvorgang in der inneren Kanalfactory der aktuellen Kanalfactory ab. (Überschreibt CommunicationObject.OnEndClose(IAsyncResult).)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnEndOpenSchließt einen asynchronen Öffnungsvorgang in der inneren Kanalfactory der aktuellen Kanalfactory ab. (Überschreibt CommunicationObject.OnEndOpen(IAsyncResult).)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnFaultedFügt Verarbeitung auf einem Kommunikationsobjekt ein, nachdem aufgrund des Aufrufs eines synchronen Fehlervorgangs der Übergang zum Fehlerzustand stattgefunden hat. (Von CommunicationObject geerbt.)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnOpenAufrufe werden in der inneren Kanalfactory der aktuellen Kanalfactory mit einem angegebenen Timeout zum Abschluss des Vorgangs geöffnet. (Überschreibt CommunicationObject.OnOpen(TimeSpan).)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnOpenedInitialisiert eine schreibgeschützte Kopie des ClientCredentials-Objekts für die Kanalfactory. (Überschreibt CommunicationObject.OnOpened().)
Geschützte MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOnOpeningErstellt die innere Kanalfactory für den aktuellen Kanal. (Überschreibt CommunicationObject.OnOpening().)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOpen()Bewirkt den Übergang eines Kommunikationsobjekts aus dem Erstellt-Zustand in den Geöffnet-Zustand. (Von CommunicationObject geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOpen(TimeSpan)Bewirkt den Übergang eines Kommunikationsobjekts innerhalb eines angegebenen Zeitraums vom Erstellt-Zustand in den Geöffnet-Zustand. (Von CommunicationObject geerbt.)
Geschützte MethodeThrowIfDisposedLöst eine Ausnahme aus, wenn das Kommunikationsobjekt verworfen wird. (Von CommunicationObject geerbt.)
Geschützte MethodeThrowIfDisposedOrImmutableLöst eine Ausnahme aus, wenn das Kommunikationsobjekt der State-Eigenschaft nicht auf den Created-Zustand festgelegt wurde. (Von CommunicationObject geerbt.)
Geschützte MethodeThrowIfDisposedOrNotOpenLöst eine Ausnahme aus, wenn sich das Kommunikationsobjekt nicht im Opened-Zustand befindet. (Von CommunicationObject geerbt.)
Öffentliche MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang
  NameBeschreibung
Öffentliches EreignisUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsClosedTritt ein, sobald ein Kommunikationsobjekt in den geschlossenen Zustand übergeht. (Von CommunicationObject geerbt.)
Öffentliches EreignisUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsClosingTritt ein, sobald ein Kommunikationsobjekt in den Schließzustand übergeht. (Von CommunicationObject geerbt.)
Öffentliches EreignisUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFaultedTritt ein, sobald ein Kommunikationsobjekt in den Fehlerzustand übergeht. (Von CommunicationObject geerbt.)
Öffentliches EreignisUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOpenedTritt ein, sobald ein Kommunikationsobjekt in den Geöffnet-Zustand übergeht. (Von CommunicationObject geerbt.)
Öffentliches EreignisUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOpeningTritt ein, sobald ein Kommunikationsobjekt in den Öffnungszustand übergeht. (Von CommunicationObject geerbt.)
Zum Seitenanfang
  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von  Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIDisposable.DisposeSchließt die aktuelle Kanalfactory.
Zum Seitenanfang

Kanalfactorys, die die IChannelFactory-Schnittstelle und deren zugehörige Kanäle implementieren, werden in der Regel von den Initiatoren eines Kommunikationsmusters verwendet. Listenerfactorys, die die IChannelListener-Schnittstelle und deren zugehörigen Listener implementieren, stellen die Mechanismen bereit, mit denen Kanäle für die Kommunikation akzeptiert werden.

Diese Klasse ist nicht Teil des Kanal- sondern des Dienstmodells. Die CreateFactory-Methode bietet die Mittel zum Erstellen von IChannelFactory für einen Dienstendpunkt. Verwenden Sie sie, um einen Client zu erstellen, der eine Verknüpfung zu einem Schnittstellenvertrag auf dem Dienst herstellt, ohne Metadaten oder Richtlinien zu verwenden.

HinweisHinweis

Durch das Festlegen von ChannelFactory.Credentials.Windows.AllowedImpersonationLevel auf TokenImpersonationLevel.Anonymous wird stets eine anonyme Anmeldung ausgeführt, unabhängig von der Identitätswechselebene.

Spezieller Hinweis für Benutzer von Managed C++, die von dieser Klasse ableiten:

  • Fügen Sie den Bereinigungscode in (On)(Begin)Close (and/or OnAbort) ein, nicht in einen Destruktor.

  • Vermeiden Sie Destruktoren: Sie bewirken, dass der Compiler IDisposable automatisch generiert.

  • Vermeiden Sie Member ohne Verweis: Sie können bewirken, dass der Compiler IDisposable automatisch generiert.

  • Vermeiden Sie die Verwendung eines Finalizers: Wenn Sie dennoch einen Finalizer verwenden, sollten Sie die Buildwarnung unterdrücken und SuppressFinalize(Object) sowie den Finalizer über (On)(Begin)Close (and/or OnAbort) aufrufen, um das ansonsten automatisch generierte IDisposable-Verhalten zu emulieren.

Beim programmgesteuerten Hinzufügen von Verhalten, wird das Verhalten vor dem Erstellen eines Kanals der entsprechenden Behaviors-Eigenschaft in der ChannelFactory hinzugefügt. Ein Codebeispiel finden Sie im Beispielabschnitt.

Im folgenden Codebeispiel wird das programmgesteuerte Einfügen eines Clientverhaltens vor dem Erstellen des Kanalobjekts durch die Factory veranschaulicht.


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();
    }
  }


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.