نمایش نتایج 1 تا 3 از 3

نام تاپیک: Singleton Pattern for Database Access

  1. #1

    Singleton Pattern for Database Access

    وقتی از singleton pattern برای ارتباط با DB استفاده میکنیم .چه جوری می شود connection

    را close کردو دوباره open کرد؟

  2. #2

    نقل قول: Singleton Pattern for Database Access

    فکر کنم اگه یک flag برای باز و بسته بودن connection تعریف کنی، بتونی با چک کردن اون، connection رو باز کنی و ببندی.
    اما حالا خودمونیم، چون نمیشه dispose کردش، اصولاً اینجا singleton بدرد نمی خوره فکر کنم.

  3. #3
    کاربر دائمی آواتار Sorenaa_s
    تاریخ عضویت
    اردیبهشت 1386
    سن
    43
    پست
    115

    نقل قول: Singleton Pattern for Database Access



    publicclass ConnectionManager
    {
    private Hashtable _cache = new Hashtable();
    privatestatic ConnectionManager _instance = null;

    private ConnectionManager()
    {
    }


    publicstatic ConnectionManager Instance
    {
    get
    {
    if( _instance == null )
    _instance = new ConnectionManager();
    return _instance;
    }
    }


    public IDbConnection GetConnection()
    {
    IDbConnection cnn = null;
    if(_cache.Contains(Thread.CurrentThread))
    {
    cnn = _cache[Thread.CurrentThread] as IDbConnection;
    }
    else
    {
    cnn = CreateConnection();
    }
    _cache[Thread.CurrentThread] = cnn;
    if( cnn.State == ConnectionState.Open)
    cnn.Open();
    return cnn;
    }

    publicvoid FreeConnection()
    {
    IDbConnection cnn = _cache[Thread.CurrentThread] as IDbConnection;
    if(cnn != null)
    {
    cnn.Close();
    // if neeeded
    //_cache.Remove(Thread.CurrentThread);
    //cnn.Dispose();
    }
    }


    private IDbConnection CreateConnection()
    {
    //return new SqlConnection("");
    returnnull;
    }
    }


قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •