Устранение ошибок службы WCF с использованием средства WCF - PullRequest
1 голос
/ 21 ноября 2011

Я получаю следующую ошибку:

Method not found: 'Void Castle.MicroKernel.ComponentActivator.ComponentActivatorException..ctor

это из следующего кода инициализации в global.asax:

    private void ConfigureContainer()
    {
        _container = new WindsorContainer();

        _container.Register(Component.For<IWindsorContainer>().Instance(_container))
            .AddFacility<WcfFacility>()
            .Register(Component.For<ISonatribeCommandService>()
                          .AsWcfClient(DefaultClientModel
                          .On(WcfEndpoint.FromConfiguration("commandServiceClient")))
                          .LifestyleTransient())
            .Install(FromAssembly.InDirectory(new AssemblyFilter(HttpRuntime.BinDirectory, "Sonatribe*.dll")));

    }

мой раздел system.servicemodel в web.config выглядит так:

  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <client>
      <endpoint address="http://****.com/SonatribeCommandService.svc" binding="basicHttpBinding" contract="CommandService.ISonatribeCommandService" name="commandServiceClient"></endpoint>
    </client>
  </system.serviceModel>

Сервис работает нормально при использовании метода добавления веб-ссылок.

UPDATE:

Я также пытался сделать метод конфигурации:

<configuration>
  <components>
    <component 
      id="commandService" 
      type="CommandService.SonatribeCommandService, CommandService"
      wcfEndpointConfiguration="commandServiceClient" />
  </components>
</configuration>

Есть идеи?

1 Ответ

2 голосов
/ 21 ноября 2011

Похоже, вы используете несовместимые версии Виндзора и объекта.Убедитесь, что вы используете версию WCF Facility, которая должна была использоваться с имеющейся у вас версией Windsor.

...