- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 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)
这是我正在使用的代码(仅限相关内容):
在 TheService.svc 中(无代码隐藏):
<%@ ServiceHost Language="C#"
Debug="true"
Service="MyServices.TheService"
Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory"
%>
在 Global.asax.cs 中:
public class Global : NinjectWcfApplication
{
protected override IKernel CreateKernel()
{
var kernel = new StandardKernel(new ServiceModule());
return kernel;
}
}
在ServiceModule.cs中:
internal class ServiceModule : NinjectModule
{
public override void Load()
{
Bind<ITheService>().To<TheService>();
Bind<ITheRepository>().To<TheRepository>();
}
}
所有这些代码似乎都工作正常。我放入一些诊断来跟踪方法调用,并调用 CreateKernel 方法,然后调用 ServiceModule 中的 Load 方法,该方法返回,然后 CreateKernel 返回。但是,当我尝试调用 TheService 中的任何服务方法时,出现上述异常。
我正在使用 wsHttpBinding 并且服务引用都解析得很好。接口(interface)和实现类是有效的。当从容器/内核检索实际服务实例时,问题似乎发生了。
我错过了什么?
最佳答案
我遇到了同样的问题,发现内核未在 NinjectServiceHostFactory 中的
。不知道为什么这没有神奇地设置,但在 KernelContainer.Kernel
(对于版本 2.2 https://github.com/ninject/ninject.extensions.wcf/blob/2.2.0.0/src/Ninject.Extensions.Wcf/KernelContainer.cs )或(对于版本 2.3 https://github.com/ninject/ninject.extensions.wcf/blob/2.3.0.0/src/Ninject.Extensions.Wcf/NinjectServiceHostFactory.cs )中设置。 SetKernel(IKernel内核)Global.asax
的 CreateKernel()
方法中设置它似乎可以修复它。
关于WCF 与 Ninject 抛出 ArgumentNullException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3703903/
这个问题在这里已经有了答案: Use of ArgumentNullException when accessing arguments' properties (1 个回答) 关闭 2 年前。 我
我有一个在管理控制台和服务器应用程序之间使用远程处理的 .NET 应用程序。 在运行时间特别长的远程调用期间,我会收到一条错误消息,如下所示。 我已将 Sponsor 添加到客户端以防止 Remoti
我有一个关于构造函数的语法和在构造函数中抛出异常的问题。 如何在调用 CreateAnotherOne() 之前为参数 b 抛出 ArgumentNullException 并像在第二个构造函数中那样
我试图将我的位图保存到 MemoryStream - 这段代码有什么问题?为什么它让我 argumentnullexception ? private void insertBarCodesToPDF
我在整个过程中都使用了这个代码模式,并且只在这个特定的属性中尝试为其赋值(即调用 setter)时抛出 ArgumentNullException。为null的对象是isLoggedInLock,因此
当有 null 值时抛出 ArgumentNullException() 是个好主意吗? This thread 没有提到在 null 上抛出的最明显的异常。 谢谢 最佳答案 ArgumentNull
假设我有一个类(class) Foo具有复杂的属性 Bar .然后,假设我在其他类中有一个如下所示的方法: public void DoSomething(Foo foo) { if (foo
我正在尝试编写 XUnit 测试来测试我的自定义验证器。验证器检查其他属性的值,该值指示已验证的属性是否应为 null 或具有值。但是,当我使用 TryValidateProperty 方法时,测试返
你好, 我有一个使用 sql express 本地数据库的程序。我希望能够使用该程序运行必要的脚本来更新该数据库。一个文本文件已作为嵌入式资源添加到项目(VS2010)中,该文件包含文本。但是它无法打
我正在开发 MVC 4 C# 互联网应用程序。 我有一个 MapLocationCompany 类和一个 MapLocation 类。我在每个 MapLocationCompany 对象之后都有一个
我注意到这段代码经常出现在我的构造函数中: if (someParam == null) throw new ArgumentNullException("someParam"); if (someO
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
所以我正在尝试更改 Windows 8 应用程序中的框架。我尝试按照 this page 上的教程进行操作,但我不断收到同样的错误。 我在线上收到 ArgumentNullException: fra
对于具有单个参数的构造函数,如果参数为 null/空,是否可以在构造函数内部抛出 ArgumentNullException?或者,它应该在实际使用参数的方法中抛出吗?谢谢。 最佳答案 是的,如果它是
假设我有一个方法将某种对象作为参数。现在说如果这个方法传递了一个空参数,这是一个 fatal error ,应该抛出一个异常。编写这样的代码对我来说是否值得(记住这是一个微不足道的例子): void
我正在尝试使用 Windows Azure PowerShell 模块来管理订阅。 我已经下载了我的证书(.publishsettings 文件)并使用 Import-AzurePublishSett
我有一个简单的方法,该方法从Web服务获取人员信息,并使用StringBuilder构建格式化的字符串。 public List Process(data) { List returnVal =
嗨,我有一个名为 Activity 的类, 在一个表单上,我将其对象数组创建为, Activity[] _actList; 然后这样做, List termsList = _actList.ToLi
我正在阅读 this post回答者提到他更喜欢 ArgumentNullException 而不是 NullReferenceException。 MSDN提到 NullReferenceExcep
当我尝试在 Xamarin Forms 中使用 XAML 创建内容 View 时,生成的代码隐藏会抛出此错误: System.ArgumentNullException: Value cannot b
我是一名优秀的程序员,十分优秀!