有沒有辦法用autofac返回null?如果我這樣做,我會得到一個例外。如何在Autofac註冊中返回NULL?
在某些情況下,我不能解析一個對象,應該返回null。
m_builder.Register <IMyObject> ((c, p) => {
//do something
if (...) {
//cant create/resolve object (error case)
return null;
} else {
return new IMyObject();
}
}).InstancePerHttpRequest();
是否有一個內置的方式來做到這一點與autofac?
編輯: 我想返回null。或者做其他事情來通知用戶創作不成功。如果我返回null這將引發異常:
DependencyResolutionException:
登記打造 'IMyObject' 的情況下,委託返回 空。
堆棧跟蹤:
在Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext 上下文,IEnumerable的參數)
在Autofac.Core.Resolving.InstanceLookup.b__0( )
在Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(GUID ID, Func鍵1 creator)
1參數)
at Autofac.Core.Resolving.InstanceLookup.Execute() at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable
在Autofac.Core.Resolving.Res olveOperation.Execute(IComponentRegistration 註冊,IEnumerable的1 parameters)
1參數)
at Autofac.Core.Lifetime.LifetimeScope.ResolveComponent(IComponentRegistration registration, IEnumerable
在Autofac.ResolutionExtensions.TryResolveService(IComponentContext 上下文中,服務服務,IEnumerable的1 parameters, Object& instance) at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable
1參數)
在Autofac.ResolutionExtensions.Resolve [TService](IComponentContext 上下文中, IEnumerable`1參數)
在Autofac.ResolutionExtensions.Resolve [TService](IComponentContext 上下文中,參數[]參數)
在RestApi.Controllers.MyApiController.CreateEntityContext()在 C:...
什麼是異常消息,內部異常,堆棧跟蹤? – nemesv 2012-08-13 10:27:03