Я хочу разместить свой сервис WCF на Microsoft IIS (хостинг IIS).
Для этого я создал свой сервис:
// The service
public class MyService : IMyService {
// Ctors
public MyService() {
// Def ctor: I don't want to call it
}
public MyService(...) : this() {
// Parametric ctor, I want to call it!
}
...
}
// The contract
[ServiceContract]
public interface IMyService {
...
}
Я создал файл SVC (хороший подход к предоставлению базового адреса для моей службы):
<@ServiceHost Service="MyService" @>
Но при размещении моей службы (просто создавая виртуальный каталог в IIS, указывающий на папку, где находится мое приложение, каталог проекта)обычно), IIS вызывает конструктор по умолчанию.
Как заставить IIS вызывать другой конструктор?
PS: я знаю, что можно указать HostServiceFactory
.Это то, что я должен использовать здесь?Это возвращает мне фабрику и хозяина.Для хоста я не могу воздействовать на параметры, переданные хостуОднако как мне решить эту проблему?
ПРИМЕЧАНИЕ. Я понял, что многие решения основаны на инверсии управления (IoC) и нескольких IoC-средах, таких как Unity , Проект замка и Spring.NET .Однако я бы не стал их использовать вообще.Может ли WCF сделать это самостоятельно?Я не могу согласиться с тем, что WCF не может позволить программисту разместить службу, создав ее соответствующим образом ...