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

CallbackBehaviorAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Konfiguriert eine Rückrufdienstimplementierung in einer Clientanwendung.

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

System.Object
  System.Attribute
    System.ServiceModel.CallbackBehaviorAttribute

[AttributeUsageAttribute(AttributeTargets.Class)]
public sealed class CallbackBehaviorAttribute : Attribute, IEndpointBehavior

NameBeschreibung
System_CAPS_pubmethodCallbackBehaviorAttribute()

Initialisiert eine neue Instanz der CallbackBehaviorAttribute-Klasse.

NameBeschreibung
System_CAPS_pubpropertyAutomaticSessionShutdown

Gibt an, ob eine Sitzung automatisch geschlossen wird, wenn ein Dienst eine Duplexsitzung schließt.

System_CAPS_pubpropertyConcurrencyMode

Gibt an, ob ein Dienst einen Thread, mehrere Threads oder wiedereintrittsfähige Aufrufe unterstützt, oder legt dies fest.

System_CAPS_pubpropertyIgnoreExtensionDataObject

Ruft einen Wert ab, der angibt, ob unbekannte Serialisierungsdaten gesendet werden sollen, oder legt ihn fest.

System_CAPS_pubpropertyIncludeExceptionDetailInFaults

Ruft einen Wert ab bzw. legt ihn fest, der angibt, dass allgemeine nicht behandelte Ausführungsausnahmen in eine FaultException<TDetail> vom Typ String konvertiert und als Fehlermeldung gesendet werden. Legen Sie dieses Attribut nur während der Entwicklung auf true fest, um Fehler in einem Dienst zu beheben.

System_CAPS_pubpropertyMaxItemsInObjectGraph

Ruft die maximale Anzahl der in einem serialisierten Objekt zulässigen Elemente ab oder legt sie fest.

System_CAPS_pubpropertyTransactionIsolationLevel

Gibt die Isolationsstufe für die Transaktion an.

System_CAPS_pubpropertyTransactionTimeout

Ruft den Zeitraum ab oder legt den Zeitraum fest, innerhalb dessen eine Transaktion abgeschlossen werden muss.

System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

System_CAPS_pubpropertyUseSynchronizationContext

Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob der aktuelle Synchronisierungskontext zum Auswählen des Ausführungsthreads verwendet wird.

System_CAPS_pubpropertyValidateMustUnderstand

Ruft einen Wert ab oder legt diesen fest, der angibt, ob das System oder die Anwendung die Verarbeitung von MustUnderstand-SOAP-Headern erzwingt.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetType()

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

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

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

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Konfiguriert die Bindungselemente zur Unterstützung des Rückrufverhaltens.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Konfiguriert die Clientlaufzeit, um das Rückrufobjekt zu unterstützen.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Implementierung der ApplyDispatchBehavior-Methode. Diese Implementierung hat keine Auswirkungen.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEndpointBehavior.Validate(ServiceEndpoint)

Überprüft die Endpunktbeschreibung vor dem Erstellen der Laufzeit.

Use the T:System.ServiceModel.CallbackBehaviorAttribute attribute to configure or extend the execution behavior of a callback contract implementation in a client application. This attribute performs the same function for the callback class as the T:System.ServiceModel.ServiceBehaviorAttribute attribute with the exception of instancing behavior and transaction settings.

The T:System.ServiceModel.CallbackBehaviorAttribute must be applied to the class that implements the callback contract. If applied to a non-duplex contract implementation an T:System.InvalidOperationException exception is thrown at runtime.

System_CAPS_noteHinweis

You can also use the T:System.ServiceModel.OperationBehaviorAttribute attribute for the callback operation implementations. However, if T:System.ServiceModel.OperationBehaviorAttribute is used on a callback operation, the P:System.ServiceModel.OperationBehaviorAttribute.ReleaseInstanceMode property must be F:System.ServiceModel.ReleaseInstanceMode.None or an T:System.InvalidOperationException exception is thrown at runtime.

The following properties are available:

  • The P:System.ServiceModel.CallbackBehaviorAttribute.AutomaticSessionShutdown property automatically closes the session when the channel is closed and the callback has finished processing any remaining messages.

  • The P:System.ServiceModel.CallbackBehaviorAttribute.ConcurrencyMode property controls the internal threading model, enabling support for reentrant or multithreaded callback objects.

  • The P:System.ServiceModel.CallbackBehaviorAttribute.IgnoreExtensionDataObject property enables the runtime to ignore extra serialization information that is not required to process the message.

  • The P:System.ServiceModel.CallbackBehaviorAttribute.IncludeExceptionDetailInFaults property specifies whether unhandled exceptions in a service are returned to the service as SOAP faults for debugging purposes.

  • The P:System.ServiceModel.CallbackBehaviorAttribute.MaxItemsInObjectGraph property limits on the number of items in an object graph that are serialized.

  • The P:System.ServiceModel.CallbackBehaviorAttribute.TransactionIsolationLevel property specifies the transaction isolation level that the contract supports.

  • The P:System.ServiceModel.CallbackBehaviorAttribute.TransactionTimeout property specifies the time period within which a transaction must complete or it aborts.

  • The P:System.ServiceModel.CallbackBehaviorAttribute.UseSynchronizationContext property indicates whether to synchronize inbound method calls automatically using the current T:System.Threading.SynchronizationContext object.

  • The P:System.ServiceModel.CallbackBehaviorAttribute.ValidateMustUnderstand property informs the system whether it should confirm that SOAP headers marked as MustUnderstand have, in fact, been understood.

The following code example shows a T:System.ServiceModel.CallbackBehaviorAttribute on a callback object that uses the T:System.Threading.SynchronizationContext object to determine which thread to marshal to, the P:System.ServiceModel.CallbackBehaviorAttribute.ValidateMustUnderstand property to enforce message validation, and the P:System.ServiceModel.CallbackBehaviorAttribute.IncludeExceptionDetailInFaults property to return exceptions as T:System.ServiceModel.FaultException objects to the service for debugging purposes.

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

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 4.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: