System.ServiceModel
4.0.0.0
System.Attribute
System.ServiceModel.Description.IEndpointBehavior
System.AttributeUsage(System.AttributeTargets.Class)
Use the 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 attribute with the exception of instancing behavior and transaction settings.
The must be applied to the class that implements the callback contract. If applied to a non-duplex contract implementation an exception is thrown at runtime.
You can also use the attribute for the callback operation implementations. However, if is used on a callback operation, the property must be or an exception is thrown at runtime.
The following properties are available:
-
The property automatically closes the session when the channel is closed and the callback has finished processing any remaining messages.
-
The property controls the internal threading model, enabling support for reentrant or multithreaded callback objects.
-
The property enables the runtime to ignore extra serialization information that is not required to process the message.
-
The property specifies whether unhandled exceptions in a service are returned to the service as SOAP faults for debugging purposes.
-
The property limits on the number of items in an object graph that are serialized.
-
The property specifies the transaction isolation level that the contract supports.
-
The property specifies the time period within which a transaction must complete or it aborts.
-
The property indicates whether to synchronize inbound method calls automatically using the current object.
-
The property informs the system whether it should confirm that SOAP headers marked as MustUnderstand have, in fact, been understood.
Configures a callback service implementation in a client application.
Constructor
4.0.0.0
The default settings for the are:
-
The property is true.
-
The is set to .
-
The property is false.
-
is false.
-
is false.
-
The property is true.
Initializes a new instance of the class.
Property
4.0.0.0
System.Boolean
To be added.
By default, when a service closes a duplex session and the callback has finished processing any remaining messages, the callback closes the session. Setting to false prevents the client from automatically closing the session.
Specifies whether to automatically close a session when a service closes a duplex session.
Property
4.0.0.0
System.ServiceModel.ConcurrencyMode
To be added.
This property indicates whether an instance of a callback object supports one thread or multiple threads that execute concurrently, and if single-threaded, whether reentrancy is supported.
Setting to instructs the system to restrict instances of the service to one thread of execution at a time, which frees you from dealing with threading issues. This is the default value. A value of means that service objects can be executed by multiple threads at any one time. In this case, you must ensure thread safety and state consistency.
also restricts access to a single thread at a time. However, it enables calls out from an executing service method to return and reenter the executing service. A reentrant call can execute on a different managed thread, but in this case the original thread is blocked for the duration of the reentrant call.
Generally, if a message arrives for an instance that violates its concurrency mode, the message waits until the instance is available, or until it times out.
In addition, if the is set to and a reentrant call is blocked while waiting for the instance to be freed, the system detects the deadlock and throws an exception.
crabout concurrency, see and Sessions, Instancing, and Concurrency.
Gets or sets whether a service supports one thread, multiple threads, or reentrant calls.
Property
4.0.0.0
System.Boolean
To be added.
If a type implements the interface, it stores any extra data it does not know about that comes over the wire when deserializing into that type. For example, if a type Person has members FirstName and LastName, and an element called PhoneNumber comes in, it is stored. When later serializing the type, PhoneNumber is re-emitted. The problem is that the schema for Person exported by that service only has FirstName and LastName, so indigo1 generates a schema-invalid instance. If strict schema compliance is important, you can set to true to turn this re-emitting behavior off.
Regardless of the setting, indigo2 always processes known data (both in and out) and does not throw exceptions when extra data comes in.
You can use the <callbackDebug> element to set this property in a client application configuration file.
Gets or sets a value that specifies whether to send unknown serialization data onto the wire.
Property
4.0.0.0
System.Boolean
To be added.
Set to true to enable exception information to flow back to services for debugging purposes when possible. This is a development-only feature and should not be employed in deployed services. These faults appear to the calling service as objects.
Setting to true enables services to obtain information about internal client callback exceptions; it is only recommended as a way of temporarily debugging a duplex client application.
Gets or sets a value that specifies that general unhandled execution exceptions are to be converted into a of type and sent as a fault message. Set this to true only during development to troubleshoot a service.
Property
4.0.0.0
System.Int32
To be added.
Use the property set a limit on the number of items in an object graph that are serialized. You can also use the <dataContractSerializer> element to set this value in a client application configuration file.
Gets or sets the maximum number of items allowed in a serialized object.
Method
4.0.0.0
System.Void
To be added.
To be added.
Configures the binding elements to support the callback behavior.
The collection of binding parameters that are configured.
Method
4.0.0.0
System.Void
To be added.
To be added.
Configures the client runtime to support the callback object.
The endpoint configured by the attribute.
Method
4.0.0.0
System.Void
To be added.
To be added.
Implementation of the method. This implementation has no effect.
The endpoint to be modified.
Method
4.0.0.0
System.Void
To be added.
Validates the endpoint description prior to building the runtime.
The endpoint to be validated.
Property
4.0.0.0
System.Transactions.IsolationLevel
To be added.
The isolation level in which your transaction runs determines how data is treated when changes are made in other transactions and how long your transaction must hold locks to protect against these changes. For example, the default value, , specifies that no updating or inserting can occur until the transaction is complete.
Specifies the transaction isolation level.
Property
4.0.0.0
System.String
To be added.
This value is typically set in an application configuration file.
Gets or sets the period within which a transaction must complete.
Property
4.0.0.0
System.Boolean
To be added.
Use this property to provide the user interface thread affinity that some applications require. For example, a Windows Forms application may be registered as a singleton service object. In this case, all calls into the service must run on the Windows Forms thread. The default case, in which is set to true, synchronizes all calls to the service to run on the user interface thread.
Note that the thread used is the current synchronization thread when or is called. In the case of an Windows Forms application, this means that these calls should occur after a call to the method.
Gets or sets a value that specifies whether to use the current synchronization context to choose the thread of execution.
Property
4.0.0.0
System.Boolean
To be added.
Use the property to turn off the enforced validation of arriving message headers. In normal execution, message headers are compared against the property to confirm that arriving headers are explicitly handled by the callback object runtime. Set this to false to disable this checking. When set to false, the application must check for headers marked with MustUnderstand="true" and return a fault if one or more of them were not understood. This is useful when the callback is supposed to accept any incoming SOAP messages (for example, when using typed or untyped messages) and perform custom header processing.
Gets or sets a value that specifies whether the system or the application enforces SOAP MustUnderstand header processing.