代码之家  ›  专栏  ›  技术社区  ›  Mr W

从类库访问用户上下文

  •  0
  • Mr W  · 技术社区  · 16 年前

    背景:

    • 我有一个win应用程序,一个web应用程序和一个 共享类库。
    • SQL查询的方法
    • 我将SQL连接字符串存储在 会话变量,因为它设置为 使用哪个数据库。
    • 我的类库无法访问我的会话 变量(是的,我当然可以使用 HttpContext.当前……但那不会 在我的winapp中工作)

    解决方案?

    UserContex current = new UserContext();
    current.SessionHandler = new AspNetSessionHandler();
    

    但是,我想要一个静态类,我可以使用它,而不必一直传递它,然后它可以从会话中获取变量(如果在web应用中使用),或者从其他地方(我不是winapp开发人员)获取变量(如果在winform中使用)。

    我会试着想象这种事情,但如果我能找到一个已经可行的解决方案,那就太好了,这就是为什么我呼吁大家一起疯狂

    1 回复  |  直到 16 年前
        1
  •  1
  •   Jon    16 年前

    Csla包含一个类似的设置,使用一个静态ApplicationContext类,这在Rockford Lhotka的书Expert C#Business Objects中进行了讨论…为了解决连接字符串问题,我建议创建一个DataConnection类,从配置文件返回一个静态连接字符串,这样连接字符串是否为来自Web.config文件或者应用程序配置

    public class DataConnection
    {
    
    
        public static string NameOfConnection
        {
            get
            {
                return ConfigurationManager.ConnectionStrings["NameOfConnection"].ConnectionString;
            }
        }
    }
    
    推荐文章