0 out of 2 rated this helpful Rate this topic

WorkflowServiceHost Class

Provides a host for workflows. Supports features like messaging activities, multi-instancing, and configuration.

System.Object
  System.ServiceModel.Channels.CommunicationObject
    System.ServiceModel.ServiceHostBase
      System.ServiceModel.Activities.WorkflowServiceHost

Namespace:  System.ServiceModel.Activities
Assembly:  System.ServiceModel.Activities (in System.ServiceModel.Activities.dll)
public class WorkflowServiceHost : ServiceHostBase

The WorkflowServiceHost type exposes the following members.

  Name Description
Protected method WorkflowServiceHost Initializes a new instance of the WorkflowServiceHost class.
Public method WorkflowServiceHost(Activity, Uri()) Initializes a new instance of the WorkflowServiceHost class using the specified activity and base addresses.
Public method WorkflowServiceHost(Object, Uri()) Initializes a new instance of the WorkflowServiceHost class using the specified service object and base addresses.
Public method WorkflowServiceHost(WorkflowService, Uri()) Initializes a new instance of the WorkflowServiceHost class using the specified service definition and collection of base addresses.
Top
  Name Description
Public property Activity Gets the root activity of the hosted workflow service.
Public property Authentication Gets the service authentication behavior. (Inherited from ServiceHostBase.)
Public property Authorization Gets the authorization behavior for the service hosted. (Inherited from ServiceHostBase.)
Public property BaseAddresses Gets the base addresses used by the hosted service. (Inherited from ServiceHostBase.)
Public property ChannelDispatchers Gets the collection of channel dispatchers used by the service host. (Inherited from ServiceHostBase.)
Public property CloseTimeout Gets or sets the interval of time allowed for the service host to close. (Inherited from ServiceHostBase.)
Public property Credentials Gets the credential for the service hosted. (Inherited from ServiceHostBase.)
Protected property DefaultCloseTimeout Gets the default interval of time allowed for the service host to close. (Inherited from ServiceHostBase.)
Protected property DefaultOpenTimeout Gets the default interval of time allowed for the service host to open. (Inherited from ServiceHostBase.)
Public property Description Gets the description of the service hosted. (Inherited from ServiceHostBase.)
Public property DurableInstancingOptions Gets the DurableInstancingOptions associated with the workflow service host.
Public property Extensions Gets the extensions for the current specified service host. (Inherited from ServiceHostBase.)
Protected property ImplementedContracts Retrieves the contracts implemented by the service hosted. (Inherited from ServiceHostBase.)
Protected property IsDisposed Gets a value that indicates whether the communication object has been disposed. (Inherited from CommunicationObject.)
Public property ManualFlowControlLimit Gets or sets the flow control limit for messages received by the service hosted. (Inherited from ServiceHostBase.)
Public property OpenTimeout Gets or sets the interval of time allowed for the service host to open. (Inherited from ServiceHostBase.)
Public property State Gets a value that indicates the current state of the communication object. (Inherited from CommunicationObject.)
Protected property ThisLock Gets the mutually exclusive lock that protects the class instance during a state transition. (Inherited from CommunicationObject.)
Public property WorkflowExtensions Gets a WorkflowInstanceExtensionManager object to add or remove extensions to the workflow service instance.
Top
  Name Description
Public method Abort Causes a communication object to transition immediately from its current state into the closing state. (Inherited from CommunicationObject.)
Protected method AddBaseAddress Adds a base address to the service host. (Inherited from ServiceHostBase.)
Public method AddDefaultEndpoints Adds service endpoints for all base addresses in each contract found in the service host with the default binding. (Inherited from ServiceHostBase.)
Public method AddServiceEndpoint(ServiceEndpoint) Adds a service endpoint to the workflow service host. (Overrides ServiceHostBase.AddServiceEndpoint(ServiceEndpoint).)
Public method AddServiceEndpoint(String, Binding, String) Adds a service endpoint to the workflow service host using the specified contract, binding, and address.
Public method AddServiceEndpoint(String, Binding, Uri) Adds a service endpoint to the workflow service host using the specified contract, binding, and address.
Public method AddServiceEndpoint(String, Binding, String, Uri) Adds a service endpoint to the workflow service host using the specified contract, binding, endpoint address, and listen URI.
Public method AddServiceEndpoint(String, Binding, Uri, Uri) Adds a service endpoint to the workflow service host using the specified contract, binding, endpoint address, and listen URI.
Public method AddServiceEndpoint(XName, Binding, String, Uri, String) Adds a service endpoint to the workflow service host using the specified contract, binding, endpoint address, listen URI, and behavior configuration name.
Public method AddServiceEndpoint(XName, Binding, Uri, Uri, String) Adds a service endpoint to the workflow service host using the specified implemented contract, binding, endpoint address, listen URI, and a behavior configuration name.
Protected method ApplyConfiguration Loads the service description information from the configuration file and applies it to the runtime being constructed. (Inherited from ServiceHostBase.)
Public method BeginClose(AsyncCallback, Object) Begins an asynchronous operation to close a communication object. (Inherited from CommunicationObject.)
Public method BeginClose(TimeSpan, AsyncCallback, Object) Begins an asynchronous operation to close a communication object with a specified timeout. (Inherited from CommunicationObject.)
Public method BeginOpen(AsyncCallback, Object) Begins an asynchronous operation to open a communication object. (Inherited from CommunicationObject.)
Public method BeginOpen(TimeSpan, AsyncCallback, Object) Begins an asynchronous operation to open a communication object within a specified interval of time. (Inherited from CommunicationObject.)
Public method Close Causes a communication object to transition from its current state into the closed state. (Inherited from CommunicationObject.)
Public method Close(TimeSpan) Causes a communication object to transition from its current state into the closed state within a specified interval of time. (Inherited from CommunicationObject.)
Protected method CreateDescription Creates a service description of the hosted workflow service using the specified key/value pair collection of address, binding, contract and behavior service endpoint information. (Overrides ServiceHostBase.CreateDescription(IDictionary(Of String, ContractDescription)).)
Public method EndClose Completes an asynchronous operation to close a communication object. (Inherited from CommunicationObject.)
Public method EndOpen Completes an asynchronous operation to open a communication object. (Inherited from CommunicationObject.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Fault Causes a communication object to transition from its current state into the faulted state. (Inherited from CommunicationObject.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Protected method GetCommunicationObjectType Gets the type of communication object. (Inherited from CommunicationObject.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method IncrementManualFlowControlLimit Increases the limit on the flow rate of messages to the hosted service by a specified increment. (Inherited from ServiceHostBase.)
Protected method InitializeDescription Creates and initializes the service host with the contract and service descriptions. (Inherited from ServiceHostBase.)
Protected method InitializeRuntime Initializes the runtime for the workflow service host. (Overrides ServiceHostBase.InitializeRuntime.)
Protected method LoadConfigurationSection Loads the service element from the configuration file of the hosted service. (Inherited from ServiceHostBase.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnAbort Called when the workflow service host is aborted. (Overrides ServiceHostBase.OnAbort.)
Protected method OnBeginClose Begins an asynchronous operation invoked when the workflow service host is closed. (Overrides ServiceHostBase.OnBeginClose(TimeSpan, AsyncCallback, Object).)
Protected method OnBeginOpen Begins an asynchronous operation invoked when the workflow service host is opened. (Overrides ServiceHostBase.OnBeginOpen(TimeSpan, AsyncCallback, Object).)
Protected method OnClose Closes down the hosted service, including the channel dispatchers and associated instance contexts and listeners. (Overrides ServiceHostBase.OnClose(TimeSpan).)
Protected method OnClosed Releases resources used by the service host. (Inherited from ServiceHostBase.)
Protected method OnClosing Invoked during the transition of a communication object into the closing state. (Inherited from CommunicationObject.)
Protected method OnEndClose Completes an asynchronous operation invoked when the workflow service host is closed. (Overrides ServiceHostBase.OnEndClose(IAsyncResult).)
Protected method OnEndOpen Completes an asynchronous operation invoked when the workflow service host is opened. (Overrides ServiceHostBase.OnEndOpen(IAsyncResult).)
Protected method OnFaulted Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation. (Inherited from CommunicationObject.)
Protected method OnOpen Opens the channel dispatchers. (Overrides ServiceHostBase.OnOpen(TimeSpan).)
Protected method OnOpened Gets the service credentials,service authentication and authorization behavior for the hosted service. (Inherited from ServiceHostBase.)
Protected method OnOpening Invoked during the transition of a communication object into the opening state. (Inherited from CommunicationObject.)
Public method Open Causes a communication object to transition from the created state into the opened state. (Inherited from CommunicationObject.)
Public method Open(TimeSpan) Causes a communication object to transition from the created state into the opened state within a specified interval of time. (Inherited from CommunicationObject.)
Protected method ReleasePerformanceCounters Releases the service and channel dispatcher performance counters for the hosted service. (Inherited from ServiceHostBase.)
Public method SetEndpointAddress Sets the endpoint address of the specified endpoint to the specified address. (Inherited from ServiceHostBase.)
Protected method ThrowIfDisposed Throws an exception if the communication object is disposed. (Inherited from CommunicationObject.)
Protected method ThrowIfDisposedOrImmutable Throws an exception if the communication object the State property is not set to the Created state. (Inherited from CommunicationObject.)
Protected method ThrowIfDisposedOrNotOpen Throws an exception if the communication object is not in the Opened state. (Inherited from CommunicationObject.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Public event Closed Occurs when a communication object transitions into the closed state. (Inherited from CommunicationObject.)
Public event Closing Occurs when a communication object transitions into the closing state. (Inherited from CommunicationObject.)
Public event Faulted Occurs when a communication object transitions into the faulted state. (Inherited from CommunicationObject.)
Public event Opened Occurs when a communication object transitions into the opened state. (Inherited from CommunicationObject.)
Public event Opening Occurs when a communication object transitions into the opening state. (Inherited from CommunicationObject.)
Public event UnknownMessageReceived Occurs when an unknown message is received. (Inherited from ServiceHostBase.)
Top
  Name Description
Explicit interface implemetation Private method IDisposable.Dispose Closes the service host. (Inherited from ServiceHostBase.)
Top

The following example shows how to use the WorkflowServiceHost class.


protected override Guid OnGetInstanceId(object[] inputs, OperationContext operationContext)
{
    //Create was called by client
    if (operationContext.IncomingMessageHeaders.Action.EndsWith("Create"))
    {
        return Guid.Empty;
    }
    //CreateWithInstanceId was called by client
    else if (operationContext.IncomingMessageHeaders.Action.EndsWith("CreateWithInstanceId"))
    {
        return (Guid)inputs[1];
    }
    else
    {
        throw new InvalidOperationException("Invalid Action: " + operationContext.IncomingMessageHeaders.Action);
    }
}


.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(2000 characters remaining)
Community Content Add
Annotations FAQ
Wrong sample
The above sample appears to be in the wrong place, its around using the operationContext to retireve a value - the sample should illustaite use o the WorkflowServiceHost type.