ServiceHostFactory Class
Factory that provides instances of ServiceHost in managed hosting environments where the host instance is created dynamically in response to incoming messages.
Assembly: System.ServiceModel.Activation (in System.ServiceModel.Activation.dll)
System.ServiceModel.Activation.ServiceHostFactoryBase
System.ServiceModel.Activation.ServiceHostFactory
System.Data.Services.DataServiceHostFactory
System.ServiceModel.Activation.WebScriptServiceHostFactory
System.ServiceModel.Activation.WebServiceHostFactory
System.Web.ApplicationServices.ApplicationServicesHostFactory
| Name | Description | |
|---|---|---|
![]() | ServiceHostFactory() | Initializes a new instance of the ServiceHostFactory class. |
| Name | Description | |
|---|---|---|
![]() | CreateServiceHost(String, Uri[]) | Creates a ServiceHost with specific base addresses and initializes it with specified data.(Overrides ServiceHostFactoryBase.CreateServiceHost(String, Uri[]).) |
![]() | CreateServiceHost(Type, Uri[]) | Creates a ServiceHost for a specified type of service with a specific base address. |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
The managed hosting environments that support dynamic activation are Internet Information Services (IIS) and Windows Process Activation Service (WAS).
If you have implemented a custom derivative of ServiceHost, consider also implementing a factory that derives from the ServiceHostFactory class.
If you have implemented a custom derivative of ServiceHostBase instead, then consider also implementing a factory that derives your factory from ServiceHostFactoryBase directly.
This examples show how to use the ServiceHostFactory class:
public class DerivedFactory : ServiceHostFactory { protected override ServiceHost CreateServiceHost( Type t, Uri[] baseAddresses ) { return new DerivedHost( t, baseAddresses ); } //Then in the CreateServiceHost method, we can do all of the //things that we can do in a self-hosted case: public override ServiceHostBase CreateServiceHost (string service, Uri[] baseAddresses) { // The service parameter is ignored here because we know our service. ServiceHost serviceHost = new ServiceHost(typeof(HelloService), baseAddresses); return serviceHost; } }
Available since 3.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

