У меня есть проблемы с моим сервисом WCF. Я должен сделать виндзорскую контейнерную инжекцию пред 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.
Спасибо!
Что ж, вам нужно знать о нескольких вещах:
служба WCF может размещаться самостоятельно - она не всегда размещается в IIS, поэтому не не полагаться на специфичный для IIS механизм, по возможности
служба WCF на стороне сервера в основном состоит из ServiceHost
(или его настраиваемого потомка), который инициализирует среду выполнения WCF, и он будет создавать экземпляры классов обслуживания по мере необходимости для обработки запросов
. Так что это действительно зависит от того, куда вы хотите внедрить свой материал - мое чутье подсказывает мне, что вы, вероятно, заинтересованы в возможности создания собственного потомка ServiceHost, и подключитесь к некоторым из его методов и событий для обработки вашей инициализации.
Ознакомьтесь с некоторыми действительно хорошими статьями и сообщениями в блоге по этой теме здесь: