Merhaba Arkadaşlar,

WCF service bazlı bir sistem yapıyorum kullanıcılar servise bağlanıyor ve kendi aralarında mesajlaşıyorlar. tabi bu istenilen ama bir durum nedeni ile bütün mesajlar en son giriş yapan kullanıcıya yönleniyor debug ediyorum mesajın gönderileceği kişiId'de doğru geliyor ve o Id nin sahip olduğu bir model var onun içinde callback fonksiyonu mevcut bu sayede kullanıcıya mesaj gönderiliyor yanlız her mesaj gönderildiğinde son giriş yapana mesaj gönderiliyor. birde sistemde mesajlaşma direk servis üzerinden değilde başka servislerde işlem yapıldığında bu servis ile mesaj gönderiliyor.

kullanıcı modeli

  public class   NOTIFICATIONUSERMODEL
    {
        public NOTIFICATIONUSERMODEL()
        {
            _clientCallback = null;
        }
        private static INotificationCallBack _clientCallback { get; set; }
        public INotificationCallBack clientCallback
        {
            get
            {
                return _clientCallback;
            }
            set
            {
                _clientCallback = value;
            }
        }
        public decimal ID { get; set; }
        public string ILID { get; set; }
        public string ILCE { get; set; }
        public string BOLGEID { get; set; }
        public string TEAMID { get; set; }
    }

login fonksiyonu

public void Connect(NOTIFICATIONUSERMODEL user)
        {
            if (user != null)
            {
                if (user.clientCallback == null)
                    user.clientCallback = GetCurrentCallback();
                lock (locker)
                {
                    _clients.Where(a => a.ID == user.ID).ToList().ForEach(a => _clients.Remove(a));
                    _clients.Add(user);
                }
            }
        }
ve mesaj gönderme fonksiyonu

 public void SendUserNotfication(string result, decimal UserId)
        {
            try
            {
                var clients = _clients.Where(a => a.ID == UserId).ToList();
                foreach (var client in clients)
                {
                    client.clientCallback.CallBack(result);
                }
            }
            catch
            {
            }
        }

şeklindedir.
ama her zaman mesaj son giriş yapana yönleniyor. yardımınız için şimdiden teşekkürler.

soruldu: 27 Mar '15, 05:33

jacksparrow47's gravatar image

jacksparrow47
931142332
cevap kabul oranı: 27%

kapatıldı: 27 Mar '15, 09:06

sorunu çözdüm arkadaşlar

private static INotificationCallBack _clientCallback { get; set; }

satırında içerik static tanımlanmamalıymış ondan her zaman en sonuncusu geçerli oluyormuş. Teşekkürler

(27 Mar '15, 09:04) jacksparrow47 jacksparrow47's gravatar image

Bu soru 27 Mar '15, 09:06 jacksparrow47 tarafından "sorunu çözdüm." gerekçesiyle kapatıldı.

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×15
×3
×1

Soruldu: 27 Mar '15, 05:33

Görüntüleme: 340 kez

Son güncelleme: 27 Mar '15, 09:06

powered by BitNami OSQA