Я был на правильном пути с Ninject.Extensions.Web - расширением NinjectHttpApplication вместо стандартного Global.asax.
Однако, это не работает, потому что не предоставляет KernelContainer (доступ к вашему вновь определенному модулю Ninject), так что вы не можете внедрить свою службу пользовательского домена, как если бы вы использовали базовый класс страницы это обеспечивает.
Итак ...
В итоге я создал аналогичный класс, расширяющий HttpApplication, который публично предоставляет статическое ядро. Затем я создал службу базового домена, от которой наследуются все мои доменные службы. Внутри конструктора я затем вызываю мой экземпляр службы домена:
[EnableClientAccess()]
public class BaseDomainService : DomainService
{
public BaseDomainService()
: base()
{
MyCustomStaticKernelContainer.Inject(this);
}
}