folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Xml Dönen Bir Web Apiyi Çağırmak



Xml Dönen Bir Web Apiyi Çağırmak

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    Xml döndüren bir web api var bunu nasıl çağırmalıyım sizce.Asenkron olarak mı çağırmak lazım yoksa senkron olarak mı , 3-4 farklı örnek buldum ama hep farklı farklı.Birde xml i kolayca parçalamak için ne kullanıyorsunuz.

    Örnek kod vs yada link paylaşırsanız sevinirim.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kenan_tok
    kenan_tok's avatar
    Banlanmış Üye
    Kayıt Tarihi: 15/Ağustos/2017
    Erkek

    Kodu hangi dilde geliştiriyorsun? Asenkron ve Senkron çağırmaktan kastını merak ettim? 

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Hangisi işini görüyor hocam ? Senkronizasyon programın akışına göre değişir.

    Örneğin Sen bir post yaparsın cevabı gelmeden programın akışını dallandırmazsan Senkron yapman gerekiyor. Şayet Dönen değer programın akışına etki etmiyorsa Asenkron yapabilirsin.

    Örneğin;
    Giriş uygulamasını Senkron yazmak zorundasın çünkü Sonuca göre programın yönünü belirleyeceksin.

    Fakat Mesaj ugulaması yapıyorsan. Kullanıının profil fotoğrafını asenkron olarak çekebilirsin. Direkt olarak görmesi gerekmez kişinin zorunluluk değildir. Yada Mesajı görmese de olur (Belli bir süre). 

    Anlatabildi isem ne mutlu bana.


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    Dil C# hocalar. 

    @MhmdAlmz haklısın senaryo üzerine göre değişir.Soruyu çok düşünmeden sormuşum :) Senkron olarak yapacağım şimdilik.

    @kenan_tok hocam yani web uygulamasına 1 request geldiğinde o requesti taşıyan thread bir web api çağrısı gördüğünde ne yapsın;

    a) Kendisi o kod bloğuna girsin sonucu beklesin.Sonra devam etsin.

    b) Bi thread yaratsın, bu yaratılan thread web api sorgusunu yapsın ve sonucu beklesin.Bizim asıl threadde sonucu beklemeden yoluna devam etsin.

    Asenkron ve senkron olayını kastettim yani.

     System.Xml.Linq.XDocument sınıfı ile xml i parçalasam olur sanırım

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kenan_tok
    kenan_tok's avatar
    Banlanmış Üye
    Kayıt Tarihi: 15/Ağustos/2017
    Erkek
    Hannibal_King bunu yazdı

    Dil C# hocalar. 

    @MhmdAlmz haklısın senaryo üzerine göre değişir.Soruyu çok düşünmeden sormuşum :) Senkron olarak yapacağım şimdilik.

    @kenan_tok hocam yani web uygulamasına 1 request geldiğinde o requesti taşıyan thread bir web api çağrısı gördüğünde ne yapsın;

    a) Kendisi o kod bloğuna girsin sonucu beklesin.Sonra devam etsin.

    b) Bi thread yaratsın, bu yaratılan thread web api sorgusunu yapsın ve sonucu beklesin.Bizim asıl threadde sonucu beklemeden yoluna devam etsin.

    Asenkron ve senkron olayını kastettim yani.

     System.Xml.Linq.XDocument sınıfı ile xml i parçalasam olur sanırım

    Hocam kullandığın dil . NET'miş, beni aşıyo

     

    kenan_tok tarafından 03/Eki/17 23:04 tarihinde düzenlenmiştir
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kenan_tok
    kenan_tok's avatar
    Banlanmış Üye
    Kayıt Tarihi: 15/Ağustos/2017
    Erkek

    Ek olarak, arkadaşlar, konusu açılmışken konuşalım.

    Javascript'te "program devam ede, ben yeni thread ile devam edecem " der ıse kışı, setTimeout, setInterval fonksionunu kullanabılır

    function c() {console.log('c');}
    function k() {console.log('k');}
    function m() {console.log('m');}

    c();
    setTimeout(function() {k();},0);
    m();

    Mesela bu kodda, c ve daha sonra k fonksionları çalışo, daha sonra k fonsionu çalışıo. Yeni thread açmış olduk. loop ıstıo ıse o zaman setInterval kullanılıo

     

     

    kenan_tok tarafından 03/Eki/17 23:40 tarihinde düzenlenmiştir
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    kenan_tok bunu yazdı

    Ek olarak, arkadaşlar, konusu açılmışken konuşalım.

    Javascript'te "program devam ede, ben yeni thread ile devam edecem " der ıse kışı, setTimeout, setInterval fonksionunu kullanabılır

    function c() {console.log('c');}
    function k() {console.log('k');}
    function m() {console.log('m');}

    c();
    setTimeout(function() {k();},0);
    m();

    Mesela bu kodda, c ve daha sonra k fonksionları çalışo, daha sonra k fonsionu çalışıo. Yeni thread açmış olduk. loop ıstıo ıse o zaman setInterval kullanılıo

     

     

    Nasıl yani hocam ?


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    .net api si ise hocam projene eklendiginde sana zaten otomatik olarak asenkron-senkron yapilariyla birlikte olusturuyor. .net api si olsun ya da olmasin wsdl alabiliyorsan silverlight in bir tool u ile (slsvcutil) proxy olusturabilirsin ve servise bu sekilde erisebilirsin. Proxy class larinda hakeza asenkron metodlar oluyor.

    Ben asenkron metod cagirirken task kullaniyorum hocam ve taskcompletion eventi bana islemin tamamladigina dair sonuc dönderiyor, onu da task olarak geri yollayabiliyorum.

    http://www.levibotelho.com/development/async-processes-with-taskcompletionsource/

    bu makale sana yardimci olacaktir hocam. 

    xml yerine json döndermek daha kolay olabilir ama xml üzerinden gitmek zorundaysan en mantiklisi xml serialize-deserialize islemi yapmak hocam. (eger dönen structure hep ayniysa)

    https://stackoverflow.com/a/42276676

    bu sekilde gelen degerleri object olarak alabilirsin (xml yapisina uygun bir sinif olusturursun hocam, dönen xml i deserialize edersin (buradaki örnekle daha iyi anlarsin https://stackoverflow.com/questions/364253/how-to-deserialize-xml-document )

    kolay gelsin

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hannibal_King
    Hannibal_King's avatar
    Kayıt Tarihi: 22/Ağustos/2010
    Erkek

    @unbalanced hocam yine şov yapmissin. Çok teşekkürler açıklamalar için. Ayrica c# ile asenkron programlama ile ilgili bildigin guzel dokuman ,makale vs falan varsa paylasirsan sevinirim.Kendim de arastiricam. Ama daha iyi oturmasi icin farkli farkli kaynaklardan olurda guzel olur.

     

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kenan_tok
    kenan_tok's avatar
    Banlanmış Üye
    Kayıt Tarihi: 15/Ağustos/2017
    Erkek
    MhmdAlmz bunu yazdı
    kenan_tok bunu yazdı

    Ek olarak, arkadaşlar, konusu açılmışken konuşalım.

    Javascript'te "program devam ede, ben yeni thread ile devam edecem " der ıse kışı, setTimeout, setInterval fonksionunu kullanabılır

    function c() {console.log('c');}
    function k() {console.log('k');}
    function m() {console.log('m');}

    c();
    setTimeout(function() {k();},0);
    m();

    Mesela bu kodda, c ve daha sonra k fonksionları çalışo, daha sonra k fonsionu çalışıo. Yeni thread açmış olduk. loop ıstıo ıse o zaman setInterval kullanılıo

     

     

    Nasıl yani hocam ?

    Kodun gidişatı, c(); k(); m(); olmasına rağmen, gidişat c(); m(); k(); olarak çalışıo. k() fonksonu, 0mili sonra çalışmasına rağmen, m'den sonra çalışıo

    EK olarak, k'nın çalışması tamamen içinde bulunduğu setTimeout fonksionuna göre şekil alıo, bununla birlikte k fonksionundan kodun diğer elemanlrına erişim var.

    Thread'in hangi ozelligi yök şimdi bu kodda

     

     

    kenan_tok tarafından 04/Eki/17 08:29 tarihinde düzenlenmiştir
Toplam Hit: 1030 Toplam Mesaj: 10
web api