WcfFacility Sequence不包含任何元素

在尝试安装我的wcf服务时,我不断得到一个Sequence包含无元素错误。

这是我的global.asax中的代码:

_container = new WindsorContainer(); _container.Register(Component.For().Instance(_container)) .AddFacility() .Install(Configuration.FromAppConfig()) .Install(FromAssembly.InDirectory(new AssemblyFilter(HttpRuntime.BinDirectory, "Web*.dll"))); 

这是web.config中的system.servicemodel部分:

       

这是我的城堡配置(在web.config中):

      

我错过了一些明显的东西吗

更新:

这是堆栈跟踪:

 [InvalidOperationException: Sequence contains no elements] System.Linq.Enumerable.Single(IEnumerable`1 source) +371 Castle.Facilities.WcfIntegration.WcfClientExtension.ObtainServiceContract(ComponentModel model, IWcfClientModel clientModel) in c:\TeamCity\buildAgent\work\a19756d977ce9d2c\src\Castle.Facilities.WcfIntegration\Client\WcfClientExtension.cs:239 Castle.Facilities.WcfIntegration.WcfClientExtension.ResolveClientModel(ComponentModel model) in c:\TeamCity\buildAgent\work\a19756d977ce9d2c\src\Castle.Facilities.WcfIntegration\Client\WcfClientExtension.cs:234 Castle.Facilities.WcfIntegration.WcfClientExtension.Kernel_ComponentModelCreated(ComponentModel model) in c:\TeamCity\buildAgent\work\a19756d977ce9d2c\src\Castle.Facilities.WcfIntegration\Client\WcfClientExtension.cs:189 Castle.MicroKernel.ComponentModelDelegate.Invoke(ComponentModel model) +0 Castle.MicroKernel.DefaultKernel.AddCustomComponent(ComponentModel model, Boolean isMetaHandler) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\DefaultKernel.cs:281 Castle.MicroKernel.DefaultKernel.Register(IRegistration[] registrations) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\DefaultKernel.cs:536 Castle.Windsor.WindsorContainer.Register(IRegistration[] registrations) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\Windsor\WindsorContainer.cs:482 Castle.Windsor.Installer.DefaultComponentInstaller.SetUpComponents(IConfiguration[] configurations, IWindsorContainer container, IConversionManager converter) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\Windsor\Installer\DefaultComponentInstaller.cs:211 Castle.Windsor.WindsorContainer.Install(IWindsorInstaller[] installers, DefaultComponentInstaller scope) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\Windsor\WindsorContainer.cs:317 Castle.Windsor.WindsorContainer.Install(IWindsorInstaller[] installers) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\Windsor\WindsorContainer.cs:453 Website.MvcApplication.ConfigureContainer() in C:\Users\Wayne Douglas\Dev\ProjectWebsite\Website\Global.asax.cs:65 Website.MvcApplication.Application_Start() in C:\Users\Wayne Douglas\Dev\ProjectWebsite\Website\Global.asax.cs:53 [HttpException (0x80004005): Sequence contains no elements] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +4052053 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +191 System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +352 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +407 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375 [HttpException (0x80004005): Sequence contains no elements] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11686928 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4863749 

UPDATE

问题似乎现在在其他地方 – 就像它试图解决组件一样,好像它是一个普通的对象而不是一个wcf服务。 请记住服务工作 – 当尝试使用wcf解决它时我在ctor上得到错误:

  public WebSiteCommandService(ICommandService service) { _service = service; } 

它说ICommandService没有组件

为什么客户端容器试图解决这个问题?

就像wcffacility东西被完全跳过了?

这是堆栈:

 [InstanceNotFoundInEnvironmentConfigurationException: Could not find requested type Ncqrs.Commanding.ServiceModel.ICommandService in the NcqrsEnvironment configuration. Make sure that the NcqrsEnvironment is configured correctly or that defaults are correctly set.] Ncqrs.NcqrsEnvironment.Get() in C:\Users\Wayne Douglas\Dev\ProjectWebsite\ThirdParty\NCQRS\src\Ncqrs\NcqrsEnvironment.cs:96 CommandService.WebsiteCommandService..cctor() in C:\Users\Wayne Douglas\Dev\ProjectWebsite\CommandService\WebsiteCommandService.svc.cs:17 [TypeInitializationException: The type initializer for 'CommandService.WebsiteCommandService' threw an exception.] System.Runtime.Serialization.FormatterServices.nativeGetUninitializedObject(RuntimeType type) +0 Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstanceCore(ConstructorCandidate constructor, Object[] arguments, Type implType) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\ComponentActivator\DefaultComponentActivator.cs:151 [ComponentActivatorException: ComponentActivator: could not instantiate CommandService.WebsiteCommandService] Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstanceCore(ConstructorCandidate constructor, Object[] arguments, Type implType) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\ComponentActivator\DefaultComponentActivator.cs:163 Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstance(CreationContext context, ConstructorCandidate constructor, Object[] arguments) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\ComponentActivator\DefaultComponentActivator.cs:116 Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\ComponentActivator\DefaultComponentActivator.cs:66 Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\ComponentActivator\AbstractComponentActivator.cs:80 Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Lifestyle\AbstractLifestyleManager.cs:81 Castle.MicroKernel.Lifestyle.SingletonLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Lifestyle\SingletonLifestyleManager.cs:63 Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Handlers\DefaultHandler.cs:124 Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Handlers\DefaultHandler.cs:98 Castle.MicroKernel.Resolvers.DefaultDependencyResolver.ResolveCore(CreationContext context, ComponentModel model, DependencyModel dependency) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Resolvers\DefaultDependencyResolver.cs:308 Castle.MicroKernel.Resolvers.DefaultDependencyResolver.Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Resolvers\DefaultDependencyResolver.cs:158 Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateConstructorArguments(ConstructorCandidate constructor, CreationContext context) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\ComponentActivator\DefaultComponentActivator.cs:292 Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate(CreationContext context) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\ComponentActivator\DefaultComponentActivator.cs:85 Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\ComponentActivator\DefaultComponentActivator.cs:66 Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\ComponentActivator\AbstractComponentActivator.cs:80 Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Lifestyle\AbstractLifestyleManager.cs:81 Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Lifestyle\AbstractLifestyleManager.cs:70 Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Handlers\DefaultHandler.cs:124 Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Handlers\DefaultHandler.cs:98 Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\DefaultKernel.cs:777 Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve(Type service, IDictionary arguments, IReleasePolicy policy) in d:\BuildAgent\work\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\DefaultKernel_Resolve.cs:225 Website.WindsorControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) in C:\Users\Wayne Douglas\Dev\ProjectWebsite\Website\WindsorControllerFactory.cs:24 System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) +93 System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) +346 System.Web.Mvc.c__DisplayClass6.b__2() +71 System.Web.Mvc.c__DisplayClassb`1.b__a() +19 System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Func`1 func) +161 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +405 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375 

我认为你的web.config中的system.servicemodel元素不太正确。 如果您从Web应用程序托管服务,那么您将没有客户端元素 – 而不是客户端元素,我认为您应该有一个如下所示的服务元素:

      

我终于搞定了!

组件配置中的类型需要是接口 – 服务。 我省略了服务属性,它开始行动了!

system.servicemodel使用客户端配置。

不知道这是不是一个bug?