c# - Unity 将异常包装到 ResolutionFailedException。如何避免?

标签 c# inversion-of-control unity-container

我想知道,是否有可能要求Unity“在解析时不包装任何用户异常”?

真的,为什么 Unity 会对 ResolutionFailedException 进行包装?它正在改变“构建服务契约(Contract)”,恕我直言,使用 Unity 进行对象初始化的事实应该是透明的,这意味着如果客户端等待来自“new”操作符的 IOException,它应该将其解开,即使对象是使用 Unity 创建的。

其他 IoC 容器的行为是否相同?

最佳答案

因为你的constructors should contain no logic .

我知道这不是一个完全令人满意的答案,但我不知道您可以在 Unity 中关闭此行为 - 我也确实同意这是一个奇怪的设计决策...

但是,如果您保持构造函数简单,就不会遇到这个问题。

关于c# - Unity 将异常包装到 ResolutionFailedException。如何避免?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7165439/

相关文章:

tdd - 单元测试、模拟对象和 ioc 的最佳实践

c# - 将动态对象映射到接口(interface)并向 IoC 注册

wpf - Prism 7.0 RegisterSingleton 不工作?

c# - DataTrigger 不会更改 Text 属性

c# - 来自 Entity Framework 的 SqlException - 不允许新事务,因为 session 中还有其他线程在运行

c# - 在一个类中声明静态方法并将其用作另一个类的方法

c# - Ninject Constructor 参数检查参数是否存在

c# - 当我的具体类有两个构造函数时,Microsoft.Unity 没有 Unity.Resolve<ILogger> 吗?

c# - 连接关闭时是否可以在 c# 中检索当前的 SQL 事务?

c# - 在 C# 中将字节数组转换为字符串并再次返回