System.ServiceModel 4.0.0.0 System.ServiceModel.Channels.CommunicationObject System.IDisposable System.ServiceModel.IExtensibleObject<System.ServiceModel.ServiceHostBase>

Use the class to create hosts that provide a custom programming model. The indigo1 service programming model uses the class.

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 .

Avoid non-reference members; they can cause the compiler to auto-generate .

Avoid finalizers; but if you include one, you should suppress the build warning and call and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated behavior.

Extends the class to implement hosts that expose custom programming models.

- Constructor
  4.0.0.0
  To be added.

  Initializes a new instance of the class.

- Method
  4.0.0.0
  System.Void ``

  This property allows users extending to provide the base address after the host is constructed. can be used to add base addresses to an existing host, but throws an exception if the description is already initialized.

  Adds a base address to the service host.

  A that contains the base address for services hosted on the current host.
- Method
  4.0.0.0
  System.Void ``

  When using the method, the service host does a "by-configuration-name" validation on the contract description. In other words, the host verifies that exists in the list of configuration names of the service contracts implemented by the service. If the validation passes, the description in the is used as it is, even if the reflected from the service is different.

  As an example, assume that the description in the ServiceEndpoint and the contract description reflected from the service have the same name, but different operation behaviors. The implication of only “by-configuration-name” validation is that there is no validation that the behaviors are the same and there are one updates to one description because of another description.

  If the is a relative URI, one of the base addresses of the (depending on the binding protocol) is used as the endpoint's base address.

  Adds the specified service endpoint to the hosted service.

  The service endpoint.
- Method
  4.0.0.0
  System.ServiceModel.Description.ServiceEndpoint `` `` `` To be added.

  Adds a service endpoint to the hosted service with a specified contract, binding, and endpoint address.

  The added to the hosted service.

  The contract implemented by the endpoint. The for the endpoint added. The address for the endpoint added. This can be an absolute or relative URI. If it is a relative URI, one of the base address of the (depending on the binding protocol) is used as the endpoint's base address.
- Method
  4.0.0.0
  System.ServiceModel.Description.ServiceEndpoint `` `` `` To be added.

  Adds a service endpoint to the hosted service with a specified contract, binding, and a URI that contains the endpoint address.

  The added to the hosted service.

  The contract implemented by the endpoint. The for the endpoint added. The that contains the address for the endpoint added. This can be an absolute or relative URI. If it is a relative URI, one of the base address of the (depending on the binding protocol) is used as the endpoint's base address.
- Method
  4.0.0.0
  System.ServiceModel.Description.ServiceEndpoint `` `` `` ``

  If the is a relative URI, one of the base addresses of the (depending on the binding protocol) is used as the endpoint's base address.

  Adds a service endpoint to the hosted service with a specified contract, binding, endpoint address and URI that contains the address at which it listens.

  The added to the hosted service.

  The contract implemented by the endpoint. The for the endpoint added. The address for the endpoint added. This address can be an absolute or relative URI. If it is a relative URI, one of the base address of the (depending on the binding protocol) is used as the endpoint's base address. The that contains the address which the endpoint listens to for incoming messages. This URI can be relative or absolute.
- Method
  4.0.0.0
  System.ServiceModel.Description.ServiceEndpoint `` `` `` `` To be added.

  Adds a service endpoint to the hosted service with the specified contract, binding, and URIs that contain the endpoint and listening addresses.

  The added to the hosted service. This URI can be absolute or relative.

  The contract implemented by the endpoint. The for the endpoint added. The that contains the address for the endpoint added. If it is a relative URI, one of the base address of the (depending on the binding protocol) is used as the endpoint's base address. The that contains the address at which the endpoint listens for incoming messages.
- Method
  4.0.0.0
  System.Void To be added.

  Loads the service description information from the configuration file and applies it to the runtime being constructed.

- Property
  4.0.0.0
  System.ServiceModel.Description.ServiceAuthorizationBehavior To be added. To be added.

  Gets the authorization behavior for the service hosted.

- Property
  4.0.0.0
  System.Collections.ObjectModel.ReadOnlyCollection<System.Uri> To be added. To be added.

  Gets the base addresses used by the hosted service.

- Property
  4.0.0.0
  System.ServiceModel.Dispatcher.ChannelDispatcherCollection To be added. To be added.

  Gets the collection of channel dispatchers used by the service host.

- Property
  4.0.0.0
  System.TimeSpan To be added. To be added.

  Gets or sets the interval of time allowed for the service host to close.

- Method
  4.0.0.0
  System.ServiceModel.Description.ServiceDescription `` To be added. To be added. To be added. To be added.
- Property
  4.0.0.0
  System.ServiceModel.Description.ServiceCredentials To be added. To be added.

  Gets the credential for the service hosted.

- Property
  4.0.0.0
  System.TimeSpan To be added. To be added.

  Gets the default interval of time allowed for the service host to close.

- Property
  4.0.0.0
  System.TimeSpan To be added. To be added.

  Gets the default interval of time allowed for the service host to open.

- Property
  4.0.0.0
  System.ServiceModel.Description.ServiceDescription To be added. To be added.

  Gets the description of the service hosted.

- Property
  4.0.0.0
  System.ServiceModel.IExtensionCollection<System.ServiceModel.ServiceHostBase> To be added. To be added.

  Gets the extensions for the current specified service host.

- Property
  4.0.0.0
  System.Collections.Generic.IDictionary<System.String,System.ServiceModel.Description.ContractDescription> To be added. To be added.

  Retrieves the contracts implemented by the service hosted.

- Method
  4.0.0.0
  System.Void `` To be added.

  Creates and initializes the service host with the contract and service descriptions.

  A that contains the base addresses for the service hosted.
- Method
  4.0.0.0
  System.Void To be added.

  Initializes the runtime for the service host.

- Method
  4.0.0.0
  System.Void `` To be added. To be added.

  Loads the service element from the configuration file of the hosted service.

- Property
  4.0.0.0
  System.Int32 To be added.

  This limit can be incremented using the method.

  Gets or sets the flow control limit for messages received by the service hosted.

- Method
  4.0.0.0
  System.Void To be added.

  Aborts the service.

- Method
  4.0.0.0
  System.IAsyncResult `` `` `` To be added.

  Begins an asynchronous operation invoked on the close of the service host.

  The that references the asynchronous on-close operation.

  The that specifies how long the on-close operation has to complete before timing out. The delegate that receives the notification of the asynchronous operation on-close completion. An object, specified by the application, that contains state information associated with the asynchronous on-close operation.
- Method
  4.0.0.0
  System.IAsyncResult `` `` `` To be added.

  Begins an asynchronous operation invoked on the opening of the service host.

  The that references the asynchronous on-open operation.

  The that specifies how long the on-open operation has to complete before timing out. The delegate that receives the notification of the asynchronous operation on-open completion. An object, specified by the application, that contains state information associated with the asynchronous on-open operation.
- Method
  4.0.0.0
  System.Void ``

  Calling does the following:

  Closes all input to , which also closes their associated instances. This stops any new channels from being accepting.

  Calls on all objects, which mean they stop accepting new messages.

  Waits for all objects to close down, which happens when their associated channels finish sending all pending messages.

  Closes the objects associated with the host.

  Closes down the hosted service, including their channel dispatchers and associated instance contexts and listeners.

  The that specifies how long the on-close operation has to complete before timing out.
- Method
  4.0.0.0
  System.Void `` To be added.

  Completes an asynchronous operation invoked on the closing of the service host.

  The returned by a call to the method.
- Method
  4.0.0.0
  System.Void `` To be added.

  Completes an asynchronous operation invoked on the opening of the service host.

  The returned by a call to the method.
- Method
  4.0.0.0
  System.Void `` To be added.

  Opens the channel dispatchers.

  The that specifies how long the on-open operation has to complete before timing out.
- Method
  4.0.0.0
  System.Void

  Once these behaviors are initialized when opening the service, they cannot be changed.

  Gets the service credentials,service authentication and authorization behavior for the hosted service.

- Property
  4.0.0.0
  System.TimeSpan To be added. To be added.

  Gets or sets the interval of time allowed for the service host to open.

- Method
  4.0.0.0
  System.Void

  This method is invoked when calling and

  .

  Releases the service and channel dispatcher performance counters for the hosted service.

- Method
  4.0.0.0
  System.Void To be added.

  Closes the service host.

- Event
  4.0.0.0
  System.EventHandler<System.ServiceModel.UnknownMessageReceivedEventArgs>

  When using , exposing a hosting endpoint, and a exception is thrown, the host passes the message to the event handler. If an attempt is made to read this message an is thrown. The description of the exception will say “This message cannot support the operation because it has been read.” The WCF infrastructure reads the message while extracting the message parameters. This message is then passed to the event handler and any attempt to read it causes an exception. If you need to access message parameters in your handler from a hosting endpoint, define the hosting endpoint contract using MessageContract and place the needed data into a message header. crabout hosting endpoints see Workflow Service Host Extensibility

  Occurs when an unknown message is received.