gpt4 book ai didi

c# - 当还有专门的服务类型时,使用 CaSTLe Windsor 的流畅接口(interface)在装饰器链中注册组件?

转载 作者:行者123 更新时间:2023-11-30 22:51:05 25 4
gpt4 key购买 nike

我正在尝试为我的数据访问实现一个装饰器链IRepository。我有一个存储数据的存储库-访问(目前只是内存列表){1},我有一个执行验证 {2}。最重要的是,我有我的专长Repository,IUsersRepository {3},它定义了另一个方法基础接口(interface)。我正在运行最新的主干修订版 5376。

我希望能够使用 fluent 注册我的组件interface - 是否可以像通过 XML 那样指定用作 innerRepo 的服务?如果是这样,如何? (参见 Bitter Coder Decorator tutorial对于 XML 配置示例)。我宁愿不需要依赖注册顺序,除此之外。

我正在关注 this blog post .

如果我询问IRepository {4} 的容器;我看到我的ValidatingRepository 方法在我的数据访问之前被调用。但是我如果我向容器询问它,它无法正常工作IUserRepository(我得到一个 InvalidCastException - 我想这是预期,但它是否可以变通?)。

我想避免使用一个 decorated-repo 和一个我的服务中的专业方法存储库;这让我觉得容易出错。目前,我的专业方法都与通过不同的标准获取实体——我想我可以让我的Get 方法采用分离标准 - 这将允许我只拥有一个在我的界面上,并且不需要专门的接口(interface)。除了我不被允许因为我们还没有决定一定要使用 NHibernate。也许如果我让 IRepo.Get 采取委托(delegate)或 IQueryable?有任何想法吗?我一直在敲我的头整个早上都反对这个,如果我有隧道也不会感到惊讶愿景,还有一种不同的、更好的方法;任何建议是欢迎!

{1} - {4} 可以在 utilitybase 看到的复制/粘贴功能。

最佳答案

交叉发布 here (有解决方案)。

关于c# - 当还有专门的服务类型时,使用 CaSTLe Windsor 的流畅接口(interface)在装饰器链中注册组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/197278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com