【问题标题】:Accessing Db in RequestFilter在 RequestFilter 中访问 Db
【发布时间】:2016-03-23 00:42:46
【问题描述】:

我正在使用 ServiceStack 4,目前在服务中访问数据库 (Db) 没有任何问题。但是,在RequestFilterResponseFilter 中,我无权访问Db 属性。

除了在过滤器的Execute 方法中解析<IDbConnection> 实例之外,还有其他方法可以访问数据库吗?我尝试从注册的IDbConnection 中解析,但它不像Service 中那样无缝,并且连接已关闭。

我正在尝试保持 DRY 并避免破坏请求链。

感谢您的帮助:)

【问题讨论】:

    标签: servicestack requestfiltering


    【解决方案1】:

    您可以从在您的 AppHost IOC 中注册的 IDbConnectionFactory 解析 IDbConnection(即您只能解析注册的依赖项),例如:

    using (var db = HostContext.Resolve<IDbConnectionFactory>().Open()) 
    {
        //...
    }
    

    这也是基础Serviceresolves its IDbConnection 的方式。

    【讨论】:

    • 感谢@mythz 的快速回答!但是,我试图用using 指令来避免每个Db 调用。最后检查了您的Service 实现并复制了getter 和Dispose。但是谢谢你的回答! :)
    猜你喜欢
    • 2015-04-03
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    相关资源
    最近更新 更多