Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有Ninject的WCF无参数构造函数错误_C#_.net_Wcf_Ninject - Fatal编程技术网

C# 带有Ninject的WCF无参数构造函数错误

C# 带有Ninject的WCF无参数构造函数错误,c#,.net,wcf,ninject,C#,.net,Wcf,Ninject,我有一个WCF服务,我正在使用Ninject的构造函数注入 这是在.NET4.5框架上实现的 当我访问该服务时,我得到以下错误 [MissingMethodException: No parameterless constructor defined for this object.] System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean&

我有一个WCF服务,我正在使用Ninject的构造函数注入

这是在.NET4.5框架上实现的

当我访问该服务时,我得到以下错误

[MissingMethodException: No parameterless constructor defined for this object.]
   System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +113
   System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +232
   System.Activator.CreateInstance(Type type, Boolean nonPublic) +83
   System.Activator.CreateInstance(Type type) +66
   System.ServiceModel.Configuration.ServiceAuthorizationElement.CreateBehavior() +504
   System.ServiceModel.Description.ConfigLoader.LoadBehaviors(ServiceModelExtensionCollectionElement`1 behaviorElement, KeyedByTypeCollection`1 behaviors, Boolean commonBehaviors) +188
   System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress, Boolean skipHost) +12973997
   System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader configLoader, ServiceDescription description, ServiceElement serviceSection) +69
   System.ServiceModel.ServiceHostBase.ApplyConfiguration() +178
   System.ServiceModel.ServiceHost.ApplyConfiguration() +61
   System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses) +184
   System.ServiceModel.ServiceHost.InitializeDescription(Type serviceType, UriSchemeKeyedCollection baseAddresses) +46
   Ninject.Extensions.Wcf.NinjectAbstractServiceHost`1..ctor(IServiceBehavior serviceBehavior, T instance, Uri[] baseAddresses) +208
   Ninject.Extensions.Wcf.NinjectIISHostingServiceHost`1..ctor(IServiceBehavior serviceBehavior, T instance, Uri[] baseAddresses) +43
   DynamicInjectoredd01103a277420e8359d2f089e3fee2(Object[] ) +199
   Ninject.Activation.Providers.StandardProvider.Create(IContext context) +884
   Ninject.Activation.Context.ResolveInternal(Object scope) +217
   Ninject.Activation.Context.Resolve() +276
   Ninject.<>c__DisplayClass15.<Resolve>b__f(IBinding binding) +86
   System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +157
   System.Linq.Enumerable.Single(IEnumerable`1 source) +121
   Ninject.ResolutionExtensions.Get(IResolutionRoot root, Type service, IParameter[] parameters) +69
   Ninject.Extensions.Wcf.BaseNinjectServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses) +212
   System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) +492
   System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +1429
   System.ServiceModel.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity) +52
   System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +598

[ServiceActivationException: The service '/Authentication.svc' cannot be activated due to an exception during compilation.  The exception message is: No parameterless constructor defined for this object..]
   System.Runtime.AsyncResult.End(IAsyncResult result) +486568
   System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +174
   System.ServiceModel.Activation.ServiceHttpModule.EndProcessRequest(IAsyncResult ar) +374230
   System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +9708641
我已在服务标记中包含

Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory"

感谢您的帮助。

对于遇到类似问题的任何人。问题的根源是服务具有需要注入的CustomAuthorizationPolicy。这需要创建CustomServiceHostFactory

Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory"