Vb Thread

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek

    Merhaba arkadaşlar vb de bitane rss reader denedim. thread olmadan gayet güzel çalışıyor. Ancak Aynı işi thread ile bir türlü yapamadım bir türlü anlayamadım olayı kodları ekliyorum yardımcı olursanız güzel olucak.

     

    Imports System.Xml
    Imports System.IO
    Imports System.Net
    Imports System.Threading
    
    
    Partial Class _Default
        Inherits System.Web.UI.Page
    
        Private trd As Thread
        Dim RssURL As String = "http://rss.cnn.com/rss/edition_world.rss"
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
            trd = New Thread(AddressOf ReadRSS)
            trd.IsBackground = True
            trd.Start()
    
        End Sub
    
        Public Sub ReadRSS()
    
            Dim wr As WebRequest = System.Net.WebRequest.Create(RssURL)
            Dim resp As WebResponse = wr.GetResponse()
    
            Dim rssStream As Stream = resp.GetResponseStream()
            Dim rssDoc As New XmlDocument()
            rssDoc.Load(rssStream)
    
            Dim rssItems As XmlNodeList = rssDoc.SelectNodes("rss/channel/item")
    
            Dim title As String = ""
            Dim link As String = ""
            Dim description As String = ""
            Dim i As Integer
    
            For i = 0 To rssItems.Count - 1
                Dim rssDetail As XmlNode
                'Get the title  
                rssDetail = rssItems.Item(i).SelectSingleNode("title")
                If rssDetail.Equals(Nothing) = False Then
                    title = rssDetail.InnerText
                Else
                    title = ""
                End If
                'Get the link  
                rssDetail = rssItems.Item(i).SelectSingleNode("link")
                If rssDetail.Equals(Nothing) = False Then
                    link = rssDetail.InnerText
                Else
                    link = ""
                End If
                'Get the description  
                rssDetail = rssItems.Item(i).SelectSingleNode("description")
                If rssDetail.Equals(Nothing) = False Then
                    description = rssDetail.InnerText
                Else
                    description = ""
                End If
    
                Response.Write("<p><b><a href='" + link + "' target='new'>" + title + "</a></b><br/>")
    
                Response.Write(description + "")
    
    
            Next
        End Sub
    End Class
    

    https://www.youtube.com/watch?v=k6LrGZGqYn8
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    gördüğüm kadarıyla threadstart sınıfını kullanmamışsın. şöyle yapabilirsin

     

     

     trd = New Thread(New ThreadStart(AddressOf ReadRSS))

            trd.IsBackground = True 

            trd.Start() 

     
    bu şekilde çalışması lazım

     


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek

    Son satırdaki

    Response.Write("<p><b><a href='" + link + "' target='new'>" + title + "</a></b><br/>")

    Response is not available in this context.  Şeklinde hata alıyorum.

     break point koydugumda rss stream get response kısmında herhangibir değer göremiyorum. ama webrequestte url yi alıyorum.


    https://www.youtube.com/watch?v=k6LrGZGqYn8
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    page load a ReadRSS metodunu direk çağırtıp da çalıştırıyorsan ve thread ile çalışmıyorsa muhtemleen thread çakısması vardır bir değişken üzerinde..

    readrss metodunun içine

     

       If InvokeRequired Then

          Me.Invoke(New MethodInvoker(AddressOf  ReadRSS  ))

       Else

    ... burayada readrss içindeki tüm kodları al

       End If

     
     
    breakpoint koy   If InvokeRequired Then bu noktaya ve f11 e basarak al satıra mı yoksa diğerine mi gittiğine bak bi

    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    solstice
    solstice's avatar
    Kayıt Tarihi: 04/Nisan/2008
    Erkek

    Şu Invoke olayını araştırayım bi hocam,  senin dediğin gibi yazdıgımda direk çıkmıyor. Öbür türlüde properties oluşturmak gerekiyor.

    Tesekkürler hocam


    https://www.youtube.com/watch?v=k6LrGZGqYn8
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    MethodInvoker framework 4.0 için hocam.. olmadıysa bir tane delegate oluşturup yapabilrsin


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
Toplam Hit: 787 Toplam Mesaj: 6