小编Son*_*ate的帖子

WCF与Ninject抛出ArgumentNullException

我是Ninject的新手,并试图评估它与温莎城堡的比较,我更熟悉.我的应用程序是IIS中托管的WCF服务应用程序.因此,我试图启动容器/内核并使用NinjectServiceHostFactory来创建我的服务类,等等.不幸的是,我得到了一个ArgumentNullException.

这是异常信息:

System.ArgumentNullException
Cannot be null. Parameter name: root

   at Ninject.ResolutionExtensions.GetResolutionIterator(IResolutionRoot root, Type service, Func`2 constraint, IEnumerable`1 parameters, Boolean isOptional, Boolean isUnique)
   at Ninject.Extensions.Wcf.NinjectInstanceProvider.GetInstance(InstanceContext instanceContext, Message message) in C:\Development\ninject.extensions.wcf\source\Ninject.Extensions.Wcf\NinjectInstanceProvider.cs:line 75
   at System.ServiceModel.Dispatcher.InstanceBehavior.GetInstance(InstanceContext instanceContext, Message request)
   at System.ServiceModel.InstanceContext.GetServiceInstance(Message message)
   at System.ServiceModel.Dispatcher.InstanceBehavior.EnsureServiceInstance(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码(仅限于相关的代码):

在TheService.svc中(没有代码隐藏):

<%@ ServiceHost Language="C#"
                Debug="true"
                Service="MyServices.TheService"
                Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory"
                %>
Run Code Online (Sandbox Code Playgroud)

在Global.asax.cs中:

public class Global : NinjectWcfApplication …
Run Code Online (Sandbox Code Playgroud)

wcf ninject

9
推荐指数
1
解决办法
5039
查看次数

标签 统计

ninject ×1

wcf ×1