Присоединение к AppInitialize с помощью службы WCF - PullRequest
6 голосов
/ 25 марта 2010

У меня проблемы с моим сервисом WCF. Мне нужно сделать предварительную инъекцию контейнера Виндзор pre application_start и заметил, что я могу использовать метод AppInitialise. Он работает на отладке в Visual Studio, но при развертывании в IIS код не запускается .. Я инициализировал класс следующим образом

public static class Class1
{
    public static void AppInitialize()
    {
        IWindsorContainer container;
        container = new WindsorContainer("windsor.xml");
        container.AddFacility<WcfFacility>();
        container.Resolve<ProfileLookUpService>();
    }
}

Есть ли какая-то особая задача, которую мне нужно сделать, чтобы заставить ее работать на IIS. Я использую версию 6.

Спасибо!

Ответы [ 2 ]

4 голосов
/ 25 марта 2010

Ну, вам нужно знать о нескольких вещах:

  • служба WCF может размещаться самостоятельно - она ​​не всегда размещается в IIS, поэтому не полагайтесь на механизм, специфичный для IIS, если это возможно

  • служба WCF на стороне сервера в основном состоит из ServiceHost (или его пользовательского потомка), который инициализирует среду выполнения WCF и по мере необходимости создает экземпляры класса обслуживания для обработки запросов

Так что это действительно зависит от того, куда вы хотите внедрить свои вещи - мое интуитивное чувство скажет мне, что вы, вероятно, заинтересованы в возможности создания собственного потомка ServiceHost и подключитесь к некоторым его методам и событиям для обработки вашей инициализации. .

Ознакомьтесь с некоторыми действительно хорошими статьями и публикацией в блоге на эту тему здесь:

0 голосов
/ 12 октября 2016

Если AppInitialize () не вызывается при запуске на сервере развертывания, то, скорее всего, вы не включили активацию не-Http WCF на этом сервере.

Перейдите в панель управления> Программа и компоненты> Включение или отключение функций Windows, а затем найдите «Microsoft .NET Framework 3.5.1». В этом случае убедитесь, что установлен параметр активации Windows Communication Foundation без HTTP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...