none
Yapıcı metod ile static property set etme problemi RRS feed

  • Soru

  • Merhaba arkadaşlar,

    aşağıdaki şekilde bir yapım var.

     public class properties
        {
            public static Settings Setting { get; set; }
            static properties()
            {
                try
                {
                    using (db_test dal = new db_test())
                    {
                        string authJSON = dal.tblSettings.Select(s => s.ServiceAuth).FirstOrDefault();
                        JavaScriptSerializer seriallize = new JavaScriptSerializer();
                        Setting = seriallize.Deserialize<Settings>(authJSON);
                    }
                }
                catch (Exception ex)
                {
                    generals.log.Error(ex);
                }
            }
    
            public class Settings
            {
                public class serviceInf
                {
                    public string UserName { get; set; }
                    public string Password { get; set; }
                }
    
                public class mySQL
                {
                    public string Server { get; set; }
                    public string Database { get; set; }
                    public string UserName { get; set; }
                    public string Password { get; set; }
                }
    
                public serviceInf ServiceInf { get; set; }
                public mySQL MySQL { get; set; }
            }
        }

    bu yapıda diğer bir sınıfımda

    user.UserName = properties.Setting.CizgiService.UserName;

    çağırdığımda UserName set edilmiş bir şekilde dönüyor. Ancak DB den UserNama değerini set ettiğimde uygulamayı yeniden publish etmeden yeni değeri alamıyorum. Bunu nasıl çözebilirim. Yardımlarınız için şimdiden teşekkür ederim.

    Buarada konuyu yanlış kategoride açmışım :(

    14 Mart 2016 Pazartesi 22:40

Tüm Yanıtlar

  • DB de set ettiğiniz yerde buradaki property'i de set edin.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    14 Mart 2016 Pazartesi 23:18
    Moderatör
  • Pardon ne demek istediğinizi tam anlamadım. Db den el ile değiştiriyorum değeri.
    15 Mart 2016 Salı 05:43
  • neden el ile set ediyorsunuz?

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    15 Mart 2016 Salı 06:58
    Moderatör
  • buraya gelen değer bir settin parametresi gibi düşünün. Normalde bir yönetim paneli tarafından güncellenebilmesi gereken biryer. ancak. yönetim paneli gibi birşey yapmayacağım. Db üzerinden el ile değiştirilebilir bir alan olması gerekiyor. Ya da başka bir uygulamadan da set edilebilir.
    15 Mart 2016 Salı 07:00
  • uygulama desktop mu web mi? static classlar uygulama başladığı anda bir defa oluşur ve sonlanana kadar ram de kalır, web içinse IIS worker processi ayakta olduğu sürece ram de kalır. 

    Login olmuş bir kullanıcının adını/şifresini oturum açıkken değiştirmek mi istiyorsunuz? Yani static class olması gerektiği gibi davranıyor, problem yok.


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    15 Mart 2016 Salı 07:30
    Moderatör
  • uygulama wcf service

    bu service içerisinden çağırdığım metodlarda

    roperties.Setting.CizgiService.UserName;

    şekline çağırım yaptığımda yeni değerin set edilip gelmesini istiyorum.

    15 Mart 2016 Salı 07:35