App funktioniert im Release-Stand nicht richtig App funktioniert im Release-Stand nicht richtig
Danke Danke:  0
Ergebnis 1 bis 9 von 9
  1. 31.03.2012, 10:12
    #1
    Hallo,

    ich verwende im Programm einen WebClient mit dessen Hilfe ich einen Webservice abfrage.

    Jetzt habe ich das Problem dass sobald ich einen Relese Stand auf das Smartphone bringe dieser nicht mehr funktioniert.

    Ich komme ohne Probleme zu der Suche hin, gebe dort was ein und drücke dann auch Suchen. Die Suche endet aber nie, das gleiche funktioniert aber mit der Debug-Version einwandfrei.

    Was mache ich falsch? Hat jemand eine Idee?

    MfG Johann Löwen
    0
     

  2. Irgendwo ein
    #DEBUG
    #endif
    Drin?
    Mit der kostenlosen PocketPC.ch App von meinem LG-E900 aus geschrieben.
    0
     

  3. 31.03.2012, 15:09
    #3
    Nein, habe ich nirgends verwendet.

    ---------- Hinzugefügt um 16:09 ---------- Vorheriger Beitrag war um 15:32 ----------

    Ich habe mich mit hilfe von MessageBoxen an das Problem herangetatet. Es ist auf jeden Fall nicht der WebClient.

    In der Methode "Private Sub WebClient_UploadStringCompleted(sender As Object, e As System.Net.UploadStringCompletedEventArgs)"

    befindet sich folgender Code:

    Code:
           Dim mediaItems As New Collections.ObjectModel.ObservableCollection(Of MediaItem)()
                            Dim mediaItemElements As IEnumerable(Of Xml.Linq.XElement) = xdoc.Root.Element(xns + "Body").Element(xns1 + "GetXMLStructureResponse").Element("GetXMLStructureReturn").Descendants("item")
    
                            Dim mediaItem = From item In mediaItemElements _
                               Select New MediaItem() With _
                               { _
                                   .Altersfreigabe = item.Element("Altersfreigabe").Value, _
                                   .AmazonID = item.Element("AmazonID").Value, _
                                   .Ausstattung = item.Element("Ausstattung").Value, _
                                   .Auszeichnungen = item.Element("Auszeichnungen").Value, _
                                   .Bemerkung = item.Element("Bemerkung").Value, _
                                   .Beschreibung = item.Element("Beschreibung").Value, _
                                   .Bild3D = item.Element("Bild3D").Value, _
                                   .BildAbtastung = item.Element("BildAbtastung").Value, _
                                   .BildFarbe = item.Element("BildFarbe").Value, _
                                   .BildFormat = item.Element("BildFormat").Value, _
                                   .BildNorm = item.Element("BildNorm").Value, _
                                   .CoverHaupt = item.Element("CoverHaupt").Value, _
                                   .CoverSonstige = item.Element("CoverSonstige").Value, _
                                   .CoverVorab = item.Element("CoverVorab").Value, _
                                   .Cut = item.Element("Cut").Value, _
                                   .Darsteller = item.Element("Darsteller").Value, _
                                   .Drehbuch = item.Element("Drehbuch").Value, _
                                   .DVDDB_ID = item.Element("DVDDB_ID").Value, _
                                   .EAN = item.Element("EAN").Value, _
                                   .Genre = item.Element("Genre").Value, _
                                   .HiddenFeatures = item.Element("HiddenFeatures").Value, _
                                   .ImdbID = item.Element("ImdbID").Value, _
                                   .Indiziert = item.Element("Indiziert").Value, _
                                   .Kamera = item.Element("Kamera").Value, _
                                   .KinoReleaseDatum = item.Element("KinoReleaseDatum").Value, _
                                   .Label = item.Element("Label").Value, _
                                   .Laufzeit = item.Element("Laufzeit").Value, _
                                   .Medium = item.Element("Medium").Value, _
                                   .MediumBox = item.Element("MediumBox").Value, _
                                   .MediumReleaseDatum = item.Element("MediumReleaseDatum").Value, _
                                   .MediumReleaseLand = item.Element("MediumReleaseLand").Value, _
                                   .MediumType = item.Element("MediumType").Value, _
                                   .Musik = item.Element("Musik").Value, _
                                   .ProdJahr = item.Element("ProdJahr").Value, _
                                   .ProdLand = item.Element("ProdLand").Value, _
                                   .Produzent = item.Element("Produzent").Value, _
                                   .RCode = item.Element("RCode").Value, _
                                   .Regie = item.Element("Regie").Value, _
                                   .Schnitt = item.Element("Schnitt").Value, _
                                   .Szenenfotos = item.Element("Szenenfotos").Value, _
                                   .Titel = item.Element("Titel").Value, _
                                   .TitelDeutsch = item.Element("TitelDeutsch").Value, _
                                   .TitelOriginal = item.Element("TitelOriginal").Value, _
                                   .TitelZusatz = item.Element("TitelZusatz").Value, _
                                   .TonFormat = item.Element("TonFormat").Value, _
                                   .Trailer = item.Element("Trailer").Value, _
                                   .Untertitel = item.Element("Untertitel").Value, _
                                   .UntertitelHG = item.Element("UntertitelHG").Value, _
                                   .Verleihversion = item.Element("Verleihversion").Value}
    
                            MessageBox.Show("1")
    
                            Try
                                For Each mi As MediaItem In mediaItem
                                    MessageBox.Show("2")
                                    mediaItems.Add(mi)
                                Next
                            Catch ex As Exception
                                MessageBox.Show("3")
                            End Try
    
                            MessageBox.Show("4")
    
                            RaiseEvent SearchCompleted(Me, New DVDDBEventArgs(True, mediaItems))
    Die MessageBox "1" wird noch ausgegeben alle weiteren nicht. Ich habe auch versucht das "Count" von "mediaItem" auszulesen aber das funktioniert auch nicht mehr.
    0
     

  4. 01.04.2012, 09:48
    #4
    So, habe ein paar neue Erkentnisse aber auch wieder ein ppar Fragen. Zuerst war ich sehr verwundert das ich im Release-Mode auch Debuggen kann. Dies hat mir aber sehr weiter geholfen wobei aber sachen aufgetreten sind die ich nicht verstehe.

    Das Einfrieren findet in dieser Zeile statt:
    Code:
    .CoverHaupt = item.Element("CoverHaupt").Value, _
    Bei der Zuweisung der Property werden noch ein paar sachen durchgeführt:
    Code:
        Private _CoverHaupt As String = String.Empty
        Public Property CoverHaupt As String
            Get
                Return _CoverHaupt
            End Get
            Set(ByVal value As String)
                If Not String.IsNullOrEmpty(value) Then
                    _CoverHaupt = CleanValue(value)
    
                    If Not String.IsNullOrEmpty(_CoverHaupt) Then
                        If Not App.Cache.FileExists("cover_" & _CoverHaupt & ".jpg") Then
                            App.Cache.DownloadFile("http://www.domain.de?idc=" & _CoverHaupt & "&size=135", "cover_" & _CoverHaupt & ".jpg", AddressOf DownloadCompleted)
                        Else
                            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("CoverHauptImage"))
                        End If
                    End If
    
                    RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("CoverHaupt"))
                End If
            End Set
        End Property
    Und hier noch die Funktionen die oben erwähnt werden:
    Code:
        Private Sub DownloadCompleted(ByVal e As Cache.DownloadCompletedEventArgs)
            If Not e.Success Then
                _UseCoverHauptImageUri = True
            End If
    
            RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("CoverHauptImage"))
        End Sub
    
        Public Function FileExists(ByVal fileName As String) As Boolean
            Dim res As Boolean = False
    
            If Not fileName.StartsWith(CACHEDIR) Then
                fileName = IO.Path.Combine(CACHEDIR, fileName)
            End If
    
            Try
                Using isoStore As IO.IsolatedStorage.IsolatedStorageFile = IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication()
                    If isoStore.FileExists(fileName) Then
                        res = True
                    End If
                End Using
            Catch ex As Exception
            End Try
    
            Return res
        End Function
    
        Public Sub DownloadFile(ByVal uri As String, ByVal fileName As String, methode As Action(Of DownloadCompletedEventArgs))
            If Not fileName.StartsWith(CACHEDIR) Then
                fileName = IO.Path.Combine(CACHEDIR, fileName)
            End If
    
            If (Microsoft.Phone.Net.NetworkInformation.DeviceNetworkInformation.IsNetworkAvailable) Then
                Using isoStore As IO.IsolatedStorage.IsolatedStorageFile = IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication()
                    If isoStore.AvailableFreeSpace > 1048576 Then
                        Dim webClient = New WebClient()
                        webClient.OpenReadAsync(New Uri(uri), New DowloadHelper(fileName, methode))
                        AddHandler webClient.OpenReadCompleted, AddressOf WebClient_OpenReadCompleted
                    End If
                End Using
            End If
        End Sub
    
        Private Sub WebClient_OpenReadCompleted(ByVal sender As Object, ByVal e As OpenReadCompletedEventArgs)
            If e.Error Is Nothing Then
                Dim fileName As String = DirectCast(e.UserState, DowloadHelper).FileName
                Dim str As IO.Stream = e.Result
    
                Try
                    Using isoStore As IO.IsolatedStorage.IsolatedStorageFile = IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication()
                        DeleteFile(fileName)
    
                        Dim buffer As Byte() = New Byte(1023) {}
                        Using isoStorStr As IO.IsolatedStorage.IsolatedStorageFileStream = isoStore.OpenFile(fileName, IO.FileMode.CreateNew)
                            Dim bytesRead As Int32 = str.Read(buffer, 0, 1024)
                            While (bytesRead > 0)
                                isoStorStr.Write(buffer, 0, bytesRead)
                                bytesRead = str.Read(buffer, 0, 1024)
                            End While
                            isoStorStr.Flush()
                        End Using
                    End Using
                Catch ex As Exception
                End Try
            End If
    
            Try
                If DirectCast(e.UserState, DowloadHelper).Methode IsNot Nothing Then
                    Dim fileName As String = DirectCast(e.UserState, DowloadHelper).FileName
                    DirectCast(e.UserState, DowloadHelper).Methode(New DownloadCompletedEventArgs(e.Error Is Nothing, fileName))
                End If
            Catch ex As Exception
            End Try
        End Sub

    Wenn ich debugge komme ich bis zu dieser Zeile:
    Code:
    If Not App.Cache.FileExists("cover_" & _CoverHaupt & ".jpg") Then
    Ich habe auch versucht direkt in die Funktion ein Haltepunkt zu setzen aber dieser wird nie erreicht.

    Sobald er versucht die Zeile abzuarbeiten, wird das Visual Studio ausgelastet. Nach einer Zeit, etwa 30-45 Sekunden bekomme ich eine OutOfMemoryException.

    Warum denn das da wird doch nix besonderes gemacht, oder?
    Und warum dies nur im Release und nicht im Debug-Modus?
    0
     

  5. 01.04.2012, 17:04
    #5
    So es funktioniert nun.

    ich habe zwar nicht wirklich verstanden was da genau falsch war aber ich habe es nun so umgeschrieben das es funktioniert.

    MfG Johann Löwen
    0
     

  6. 02.04.2012, 08:04
    #6
    Könnte schlicht und ergreifend ein Compiler-Fehler sein. Hatten so ein Problem mal mit .Net 1.1 und einem Switch-Statement - da hat die Optimierung irgendwie zu einem Fehler geführt (und damit taucht das im Debug-Code dann auch nicht auf, weil dort einiges an Optimierungen nicht passiert).
    0
     

  7. 03.04.2012, 21:48
    #7
    Ist natürlich möglich. Das lehr einen nicht immer allen im Debug-Modus zu machen.
    0
     

  8. 03.04.2012, 23:07
    #8
    Na ja, solche Probleme sind letzten Endes selten (sonst wären sie bei Microsofts Tests aufgefallen). Da muss oft einiges zusammenkommen. Aber natürlich schadet es nicht das ganze nochmal im Release zu testen bevor man es in den Market lädt.
    0
     

  9. 03.04.2012, 23:11
    #9
    Habe es zum Glück nur als Beta hochgeladen.
    0
     

Ähnliche Themen

  1. Tastatur funktioniert nicht richtig
    Von daywalker266 im Forum HTC HD7
    Antworten: 0
    Letzter Beitrag: 18.12.2011, 15:08
  2. Funktioniert nicht richtig
    Von amomhrer im Forum Sony Ericsson Xperia X10
    Antworten: 1
    Letzter Beitrag: 16.06.2011, 16:13
  3. Wetter funktioniert nicht richtig
    Von Clemens1 im Forum HTC HD2 Kommunikation
    Antworten: 0
    Letzter Beitrag: 09.08.2010, 21:14
  4. Antworten: 4
    Letzter Beitrag: 01.05.2009, 07:32
  5. E-Mail funktioniert nicht richtig
    Von Unregistriert im Forum HTC Touch Diamond
    Antworten: 15
    Letzter Beitrag: 20.04.2009, 12:43

Stichworte