Если вы хотите использовать настраиваемый хост службы в сценарии размещения IIS, вам нужно указать настраиваемый ServiceHostFactory
, который будет возвращать этот тип хоста службы, и настроить эту фабрику хостов службы в файле SVC.
По сути, ваша фабрика хостов настраиваемых служб должна происходить из ServiceHostFactory
и переопределять один метод, который возвращает экземпляр хоста настраиваемой службы - что-то вроде:
public class MyOwnServiceHostFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type t, Uri[] baseAddresses)
{
return new MyOwnCustomServiceHost(t, baseAddresses);
}
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;
}
}
И в вашем SVC-файле вам теперь нужно:
<%@ ServiceHost Language="C#" Debug="true"
Service="YourNamespace.YourService"
Factory="YourNamespace.MyOwnServiceHostFactory" %>
Подробнее о: