• 06-12-2012, 00:56:27
    #1
    Üyeliği durduruldu
    Herkese merhaba,
    Bir sorun yaşıyorum 6-7 saattir uğraşıyorum çözemedim bir yardımcı olursanız sevirinim.

    Şimdi register.php formuna click ile post ettiriyorum,
    Post edildikten sonra sayfalar success.php, activation.php, ve eğer alan girişi yanlış yapıldıysa tekrardan register.php.

    Sorun: Click olayı yapıldıktan sonra sayfa yüklenmeden
    string gidilenURL = Convert.ToString(webExplorer.Url); bu kod çalışıyor ve url yi register.php olarak alıyor sürekli. Fakat daha sonradan gideceği url yi alıyor.
    -----------------
    2. yöntem fakat sorunlu
    webExplorer.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(registerKo ntrol);

    Daha önce ComplateDocument eventı oluşturdum ve kodları eventıma yazdım (Yukarıdaki şekilde)ozaman çalışıyor fakat kafasına göre birden fazla çalıştırıyor,
    anlamadıgım bir nokta da yukarıdaki eventı çağırdımda hemen o an gitmiyor eventa, for döngusu 1 tur döndukten sonra gidiyor.Aslında hemen gitse complate olucak bende url yi alacam problemim çözülecek.



    Kodlarım şöyle

    ..........
      webExplorer.Document.All["submit"].InvokeMember("click");        
    string dizidekiSite = siteler[i-1];
     string gidilenURL = Convert.ToString(webExplorer.Url);
    
    if (gidilenURL == dizidekiSite + "/aktivasyon.php?user=" + tbKayitUser.Text)
    { MessageBox.Show("Aktivasyon Onayı İstiyor");}
    
    else if (gidilenURL == dizidekiSite + "/register.php")
    { MessageBox.Show("Kayıt Olmadı Bir Hata var"); }
    
    else if (gidilenURL == dizidekiSite + "/success.php?user=" + tbKayitUser.Text)
    { MessageBox.Show("Başarıyla Üye Olundu");  }
    
    else {MessageBox.Show("Site Sorunlu");}//             /
  • 06-12-2012, 03:02:48
    #2
    Tam olarak emin değilim fakat URL yi Convert.ToString yaptığında bir bozulma gerçekleşiyor olabilir. İndirme Yöneticisi yazarken web işlemlerinde Uri değişken türünü kullanmıştım.
  • 06-12-2012, 04:27:24
    #3
    Üyeliği durduruldu
    Esesforza adlı üyeden alıntı: mesajı görüntüle
    Tam olarak emin değilim fakat URL yi Convert.ToString yaptığında bir bozulma gerçekleşiyor olabilir. İndirme Yöneticisi yazarken web işlemlerinde Uri değişken türünü kullanmıştım.
    Url de bir sıkıntı yok, debug ederken kontrol ettim.
    Yaşadığım problem şu, submit ettiğim sayfa yuklenmeden kontrole giriyor.Böyle oldugunda da register.php den geldiği için register.php olarak göruyor.Ama sonradan gittiği url'nin değerini alıyor.

    ComplatedDocument event ile denediğimde sorunsuz calısıyor fakat, for dongusunde cagırdıgımde direk complated event'ı işlemiyor, for döngusu 1 kere döndukten sonra gidiyor.
    Böyle oldugunda da 2-3-4-5 kere complateddocument eventını sorguluyabiliyor bu neye baglı bunu çözemedim.

    Fakat nasıl alt program tanımladıgımızda misal pravite void calistir(){} , bu programı calıstırdıgımızda direk o programın kodlarına erişir, fakat event cagırdıgımda dongunun 1 kere donmesını beklıyor
  • 06-12-2012, 15:25:01
    #4
    ComplatedDocument eventi sayfa tam olarak yüklendiğinde komutları gerçekleştirmiyor. Ben bunu geçenlerde bir sitenin resim urllerini çektirirken farkettim. Parça parça yüklerken 4-5 sefer tekrarlıyor verdiğin işlemleri. Örneğin bir tane çekmesi gereken URLyi 4 tane çekiyordu. Bence kilit nokta eventta bitiyor. Farklı birşeyler denemelisin.
    Kusura bakma tam olarak yardımcı olamıyorum.
  • 06-12-2012, 16:13:41
    #5
    Üyeliği durduruldu
    Esesforza adlı üyeden alıntı: mesajı görüntüle
    ComplatedDocument eventi sayfa tam olarak yüklendiğinde komutları gerçekleştirmiyor. Ben bunu geçenlerde bir sitenin resim urllerini çektirirken farkettim. Parça parça yüklerken 4-5 sefer tekrarlıyor verdiğin işlemleri. Örneğin bir tane çekmesi gereken URLyi 4 tane çekiyordu. Bence kilit nokta eventta bitiyor. Farklı birşeyler denemelisin.
    Kusura bakma tam olarak yardımcı olamıyorum.
    Hocam nasıl çözdunuz bu sorunu peki?Bir sürü şey denedim yapamadım hala.
  • 06-12-2012, 19:21:11
    #6
    Click satırının altına aşağıdaki satırı eklerseniz sorun kalmayacaktır diye düşünüyorum.

    do { Application.DoEvents(); } while (webExplorer.ReadyState != WebBrowserReadyState.Complete);
  • 06-12-2012, 19:33:52
    #7
    Üyeliği durduruldu
    Dzyn3 adlı üyeden alıntı: mesajı görüntüle
    Click satırının altına aşağıdaki satırı eklerseniz sorun kalmayacaktır diye düşünüyorum.

    do { Application.DoEvents(); } while (webExplorer.ReadyState != WebBrowserReadyState.Complete);
    Yok hocam buda olmadı. Malesef.
    Url yine aynı geliyor
  • 06-12-2012, 22:04:27
    #8
    Sanırım WebBrowser' ın Navigating eventi işinizi görecektir.
    İlk gösterilen url o anki url oluyor sonraki gösterdiği ise yönlendirilen url oluyor.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 22:04:27 -->-> Daha önceki mesaj 20:55:50 --

    WebTwins adlı üyeden alıntı: mesajı görüntüle
    Yok hocam buda olmadı. Malesef.
    Url yine aynı geliyor

    WebBrowser event kullanmadan sorunu çözen kişinin iş bankası hesabına bonus olarak 10TL gönderiyorum.
    Sorun çözüldü sanırım?
  • 06-12-2012, 22:48:22
    #9
    Üyeliği durduruldu
    Dzyn3 adlı üyeden alıntı: mesajı görüntüle
    Sanırım WebBrowser' ın Navigating eventi işinizi görecektir.
    İlk gösterilen url o anki url oluyor sonraki gösterdiği ise yönlendirilen url oluyor.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 22:04:27 -->-> Daha önceki mesaj 20:55:50 --



    Sorun çözüldü sanırım?
    Hayır hocam çözülmedi sorun.
    Navigate url de şu kodu yazıp değeri textboxa attım.

    tbSiteUrl.Text = Convert.ToString(webExplorer.Url);

    daha sonra gidenUrl yi -tbSiteurl.text e atayım yine aynı problem.Url benim kontrol bittikten sonra başlıyor