stevenjin 2024-08-05 10:34 采纳率: 97.3%
浏览 19
已结题

c# 单例模式传参且线程安全

1.用c#构建数据库访问类
2.采用单例模式,要求能传参且是在线程安全模式下访问

  • 写回答

2条回答 默认 最新

  • stevenjin 2024-08-05 11:11
    关注

    之前这样写的

    
            private string ConnectionString = string.Empty;
            private static DapperHelper instance;
            public static DapperHelper Instance
            {
                get
                {
                    if(instance == null)
                    {
                        lock(instanceObj)
                        {
                            if(instance == null)
                            {
                                instance = new DapperHelper();
                            }
                        }
                    }
                    return instance;
                }
            }
            #endregion
    
            public DapperHelper()
            {
                ConnectionString = GetConnectionString();
            }
    
    
            public MySqlConnection MySQLConnection(string connstring)
            {
                using(this.mysqlDBConn = new MySqlConnection(connstring))
                {
                    return this.mysqlDBConn;
                }
            }
    
            public string GetConnectionString(string ip = "127.0.0.1")
            {
                ConfigurationBuilder configuration = new ConfigurationBuilder();
                string assemblyFilePath = Assembly.GetExecutingAssembly().Location;
                string assemblyDirPath = Path.GetDirectoryName(assemblyFilePath);
    
                var config = configuration.SetBasePath(assemblyDirPath).AddJsonFile(file =>
                {
                    file.Path = "/appsettings.json";
                    file.Optional = false;
                    file.ReloadOnChange = true;
                }).Build();
                return string.Format(config.GetConnectionString("mssql"), ip);            
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月25日
  • 已采纳回答 8月17日
  • 创建了问题 8月5日

悬赏问题

  • ¥15 网络分析设施点无法识别
  • ¥15 状态图的并发态问题咨询
  • ¥15 PFC3D,plot
  • ¥15 VAE模型编程报错无法解决
  • ¥100 基于SVM的信息粒化时序回归预测,有偿求解!
  • ¥15 物体组批优化问题-数学建模求解答
  • ¥15 微信原生小程序tabBar编译报错
  • ¥350 麦克风声源定位坐标不准
  • ¥15 apifox与swagger使用
  • ¥15 egg异步请求返回404的问题