folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder [WCF] Nested Hashtable Problemi



[WCF] Nested Hashtable Problemi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nessaj
    nessaj's avatar
    Kayıt Tarihi: 03/Mayıs/2010
    Erkek

     

    merhaba beyler,

    wcf te nested hashtable oluşturuduğumda "The underlying connection was closed: The connection was closed unexpectedly." hatası alıyorum, kodlarım şu şekilde, neden böyle yapıyor bi bilginiz var mı?

    //Client

    private static List<Playlist> _PlaylistArray;
    public static List<Playlist> PlaylistArray
    {
    get
    {
    if (_PlaylistArray == null)
    {
    _PlaylistArray = myClient.GetPlaylists(Username, Password, (int)UserInf["id"], "%").Select(i => new Playlist
    (
    i["name"].ToString(),
    true,
    ((Hashtable[])i["medias"]) == null ? null :
    ((Hashtable[])i["medias"]).Select(ix => new YoutubeMedia()
    {
    Duration = ix["duration"].ToString(),
    Title = (string)ix["title"],
    ID = (string)ix["videoinf"]
    }).ToArray()
    ) { ID = (int)i["id"] }).ToList();

    remotePlaylistArray = new List<Playlist>(_PlaylistArray);
    }

    return _PlaylistArray;
    }
    }

    //Service

    public IEnumerable<Hashtable> GetPlaylistItems(string username, string password, int pid)
    {
    return this.ExecuteHashtable("GetPlaylistItems", username, Crypter.DoTwiceMD5(password), pid);
    }

    public IEnumerable<Hashtable> GetPlaylists(string username, string password, int userid, string filter)
    {
    List<Hashtable> list = this.ExecuteHashtable("GetPlaylists", username, Crypter.DoTwiceMD5(password), userid, filter).ToList();

    foreach (var item in list)
    {
    Hashtable[] arr = GetPlaylistItems(username, password, (int)item["id"]).ToArray();
    item.Add("medias", arr.Length != 0 ? arr : null);
    }

    return list;
    }

    kod sadece playlist boş olup değer null olduğu zaman çalışıyor,

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    hata çok genel, wcf tarafında hataları loglatıyor musun? orada gelen hata nedir?

    illaki googleda bakmışsındır requestin boyutu mu sorun teşkil ediyor bilmiyorum

    http://stackoverflow.com/questions/285345/the-underlying-connection-was-closed-the-connection-was-closed-unexpectedly

    şu linki bir incele. ve mutlaka wcf tarafında tam olarak ne oluyor bir bak


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nessaj
    nessaj's avatar
    Kayıt Tarihi: 03/Mayıs/2010
    Erkek

    edit: lütfen şu operaya bir ayar çekin

     

    ya problem sadece hashtable arrayının içine bir hashtable arrayı daha gömünce çıkıyor, aynı servis üzreinden koca koca byte arraylar problemsiz yürüyor, timeout veya herhangi birşeyinn limitlenmesinden dolayı olcağnı zannetmiyorum,

     wcf tede yeniyim ne şekilde hatalraın loglancağını bilmiyorum, ama exception la innerexception aynı, herhangi bir bilgi vermiyor, şimdi hatalar nasıl detaylı loglanır ona bakıyorum

     

    teşekkürler, saygılar. 

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nessaj
    nessaj's avatar
    Kayıt Tarihi: 03/Mayıs/2010
    Erkek

    TraceListenerdan gelen data 

     

    Type 'System.Collections.Hashtable[]' with data contract name 'ArrayOfArrayOfKeyValueOfanyTypeanyType:http://schemas.microsoft.com/2003/10/Serialization/Arrays' is not expected. Consider using a DataContractResolver or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to DataContractSerializer.

     

    hatayı paylaşayım dedim, kafam iyicene sulandı,  yarın incelerim

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    wcf verileri alırken serializable/ deserializable kullanıyor. classlarını [serializable] gibi işaretleyip servis kısmında [datacontract] olarak işaretlemen gerekebilir. wcf hiç yazmadım ama az çok mantığını biliyorum.

    birde playlists neden static?


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nessaj
    nessaj's avatar
    Kayıt Tarihi: 03/Mayıs/2010
    Erkek

    abi o playlistin olduğu classda static, login olan kullanıcının datalarını tutuyor o yüzden, ayrıca hashtablein içnde sadece int ve string tipinden değerler var zaten, yani herhangi bir işaretleme söz konusu değil,

     

    aah ingilizcemiz olsada ing kitap alıp okıuyabilsek, wcf hakkında 1 tane türkçe kitap yok ya, lise bitsin ing kursuna yazılıcam abi olmuyor böyle :D 

Toplam Hit: 1310 Toplam Mesaj: 6