首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用IDbConnection使用我的apphost

如何使用IDbConnection使用我的apphost
EN

Stack Overflow用户
提问于 2013-04-09 21:33:26
回答 1查看 101关注 0票数 1

我想知道如何从我的全球过滤器中访问IDbConnection,到目前为止我拥有的是这个。

现在,我越多地思考这个问题,我就不会在我的apphost中使用IDb的东西,那么我如何才能检索我的存储库,该存储库封装了可能的东西和缓存呢?

谢谢你,斯蒂芬

Global.asax

代码语言:javascript
复制
public override void Configure(Container container)
{


    var dbConnectionFactory =
        new OrmLiteConnectionFactory(ConfigUtils.GetConnectionString("test"), true, SqlServerOrmLiteDialectProvider.Instance);

    container.Register<IDbConnectionFactory>(dbConnectionFactory); 

    RequestFilters.Add((httpReq, httpResp, requestDto) =>
        {

            // Do something here with either my repo or ormLite

        });
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-09 22:20:59

如果您已经访问了容器,您可以这样做:

代码语言:javascript
复制
RequestFilters.Add((httpReq, httpResp, requestDto) => {
    using (var db = container.Resolve<IDbConnectionFactory>().Open()) 
    {
        // Do something here with either my repo or ormLite
    }
});

否则,您可以通过AppHostBase.Resolve<T>单例访问它:

代码语言:javascript
复制
RequestFilters.Add((httpReq, httpResp, requestDto) => {
    using (var db = AppHostBase.Resolve<IDbConnectionFactory>().Open()) 
    {
        // Do something here with either my repo or ormLite
    }
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15912972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档