Timeout für Vorgang überschritten.

  • VB.NET
  • .NET (FX) 4.0

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von Facebamm.

    Timeout für Vorgang überschritten.

    Guten abend zusammen...

    Ein DEBUG von uns hat ein fehler festgestellt zuerst dachten wir es kommt von den überlasteten server aber jetzt haben wir den Programm mal einen DEBUG unterzogen und bekommen diese fehlermeldung:

    VB.NET-Quellcode

    1. Die Anfrage wurde abgebrochen: Timeout für Vorgang überschritten. bei System.Net.HttpWebRequest.GetResponse()
    2. bei PROGRAMM.Func.GetResponse(String link, Int32 debug) in C:\Users\nico9\Desktop\PROGRAMM\Beta\Beta\Func.vb:Zeile 82.


    Diese fehlermeldung tritt bei:

    VB.NET-Quellcode

    1. Public Function GetResponse(ByVal link As String) As String
    2. Dim responseData As String = ""
    3. lastlink = link
    4. Dim cookieJar As New Net.CookieContainer()
    5. Dim hwrequest As Net.HttpWebRequest = CType(WebRequest.Create(link), HttpWebRequest)
    6. hwrequest.CookieContainer = cookieJar
    7. hwrequest.Accept = "*/*"
    8. hwrequest.AllowAutoRedirect = True
    9. hwrequest.UserAgent = "http_requester/0.1"
    10. hwrequest.Timeout = 60000
    11. hwrequest.Method = "GET"
    12. Dim hwresponse As Net.HttpWebResponse = CType(hwrequest.GetResponse(), HttpWebResponse) '<-Fehler kommt von hier :!:
    13. If hwresponse.StatusCode = Net.HttpStatusCode.OK Then
    14. Dim responseStream As IO.StreamReader = New IO.StreamReader(hwresponse.GetResponseStream())
    15. responseData = responseStream.ReadToEnd()
    16. Else
    17. Dim responseStream As IO.StreamReader = New IO.StreamReader(hwresponse.GetResponseStream())
    18. responseData = responseStream.ReadToEnd()
    19. MsgBox(responseData)
    20. End If
    21. hwresponse.Close()
    22. Return responseData
    23. End Function

    auf...
    Weiß jemand was hier falsch ist?!

    Danke im vorraus :)

    xX-Nick-Xx schrieb:

    hwrequest.GetResponse()
    dauert offensichtlich zu lange.
    Die 60 Sekunden Timeout scheinen mir außerordentlich hoch.
    Ist der Inhalt der Variable link korrekt?
    =====
    If hwresponse.StatusCode = Net.HttpStatusCode.OK Then Sieh Dir mal dieses Konstrukt genau an und mach es 3 Zeilen kürzer.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das else beim

    VB.NET-Quellcode

    1. If hwresponse.StatusCode = Net.HttpStatusCode.OK Then
    haben wir zum Testen.
    Die 60Sekunden, da reagiert er nichtmal drauf.
    Ja die Variable

    VB.NET-Quellcode

    1. link
    ist korrekt, habe es selber durch ein Debug gehauen.

    P.s. Der Timeout ist nach geschätzten 5Sekunden

    xX-Nick-Xx schrieb:

    nach geschätzten 5Sekunden
    Dann kann er wohl keine Verbindung etablieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    xX-Nick-Xx schrieb:

    erst nach min paar Minuten

    xX-Nick-Xx schrieb:

    nach geschätzten 5Sekunden
    Ja was denn nun?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @xX-Nick-Xx Warum steht diese eher wichtige Information nicht im Eröffnungspost? X(
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Um Dir evtl. eine passende Lösung anbieten zu können wäre es hilfreich zu erfahren, welche URL dieses Verhalten zeigt.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Das ist jetzt nur einer der Links...
    it-voss.xyz/apis/GetFields/
    Da is aber nicht viel zu sehen da es ne API ist

    Was ich noch anmerken sollte:
    Wir haben 2 möglichkeiten zu aktualisieren
    1. Mit Timer der immer von 10 runterzählt und bei 0 Aktualisiert
    2. ein Button der Speichert und den button dann 5sec sperrt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xX-Nick-Xx“ ()

    Das hier führt der Timer aus wenn er bei 0 ist...

    VB.NET-Quellcode

    1. Try
    2. Label81.Text = auto_sync_step.ToString
    3. If (auto_sync_step = 0) Then
    4. auto_sync_step = My.Settings.sync_time
    5. End If
    6. auto_sync_step = auto_sync_step - 1
    7. If auto_sync_step = 2 Then
    8. If (select_type = "animals") Then
    9. 'Kühe
    10. If (select_animal = "cow") Then
    11. Func.GetResponse("URl/" + My.Settings.authCode + "/animal_cow_population:" + cow.Text + ",animal_cow_productivity:" + pro.Text + ",animal_cow_manure_pit:" + Label1.Text + ",animal_cow_manure_heap:" + Label15.Text + ",animal_cow_feeding_trough_mixed_ration:" + Label17.Text + ",animal_cow_feeding_trough_silage:" + Label19.Text + ",animal_cow_feeding_trough_grass:" + Label21.Text + ",animal_cow_water:" + Label26.Text + ",animal_cow_straw:" + Label27.Text + ",animal_cow_milk_tank:" + Label23.Text + "", 0)
    12. ElseIf (select_animal = "sheep") Then
    13. Func.GetResponse("URL/" + My.Settings.authCode + "/animal_sheep_population:" + Label32.Text + ",animal_sheep_productivity:" + Label37.Text + ",animal_sheep_feeding_trough:" + Label9.Text + ",animal_sheep_wool:" + Label36.Text + "", 0)
    14. ElseIf (select_animal = "pig") Then
    15. Func.GetResponse("URL/" + My.Settings.authCode + "/animal_pig_population:" + Label62.Text + ",animal_pig_feeding_trough_mixed_ration:" + Label59.Text + ",animal_pig_feeding_trough_cereals:" + Label57.Text + ",animal_pig_feeding_trough_root_crops:" + Label55.Text + ",animal_pig_water:" + Label51.Text + ",animal_pig_manure:" + Label45.Text + ",animal_pig_liquid_manure:" + Label69.Text + ",animal_pig_young_count:" + Label65.Text + ",animal_pig_killable_count:" + Label68.Text + ",animal_pig_feeding_trough_silage: " + Label53.Text + ",animal_pig_straw:" + Label47.Text + "", 0)
    16. ElseIf (select_animal = "beef") Then
    17. Func.GetResponse("URL/" + My.Settings.authCode + "/animal_beef_productivity:" + Label93.Text + ",animal_beef_feeding_trough_root_crops:" + Label86.Text + ",animal_beef_feeding_trough_mixed_ration:" + Label90.Text + ",animal_beef_feeding_trough_cereals:" + Label88.Text + ",animal_beef_feeding_trough_silage:" + Label84.Text + ",animal_beef_water:" + Label82.Text + ",animal_beef_straw:" + Label78.Text + ",animal_beef_manure:" + Label76.Text + ",animal_beef_liquid_manure:" + Label71.Text + ",animal_beef_young_count:" + Label96.Text + ",animal_beef_killable_count:" + Label73.Text + "", 1)
    18. ElseIf (select_animal = "chicken") Then
    19. Func.GetResponse("URL/" + My.Settings.authCode + "/animal_chicken_population:" + Label41.Text + ",animal_chicken_eeg_count:" + Label38.Text + ",animal_chicken_eeg_backpack_count:" + Label43.Text + "", 0)
    20. ElseIf (select_animal = "goose") Then
    21. Dim test As String = Func.GetResponse("URL/" + My.Settings.authCode + "/animal_goose_productivity:" + Label120.Text + ",animal_goose_feeding_trough_root_crops:" + Label117.Text + ",animal_goose_feeding_trough_mixed_ration:" + Label115.Text + ",animal_goose_feeding_trough_cereals:" + Label113.Text + ",animal_goose_feeding_trough_silage:" + Label111.Text + ",animal_goose_water:" + Label109.Text + ",animal_goose_straw:" + Label105.Text + ",animal_goose_manure:" + Label103.Text + ",animal_goose_young_count:" + Label123.Text + ",animal_goose_killable_count:" + Label100.Text + ",animal_goose_straw:" + Label98.Text + "", 0)
    22. End If
    23. Func.EnableDisableLabel(Button11, cow)
    24. End If
    25. Dim readingJson As JObject = CType(Func.GetJson("URL/" + My.Settings.authCode + "", 1), JObject)
    26. cow.Text = readingJson("response")("animal_cow_population").ToString
    27. pro.Text = readingJson("response")("animal_cow_productivity").ToString
    28. Label1.Text = readingJson("response")("animal_cow_manure_pit").ToString
    29. Label15.Text = readingJson("response")("animal_cow_manure_heap").ToString
    30. Label17.Text = readingJson("response")("animal_cow_feeding_trough_mixed_ration").ToString
    31. Label19.Text = readingJson("response")("animal_cow_feeding_trough_silage").ToString
    32. Label21.Text = readingJson("response")("animal_cow_feeding_trough_grass").ToString
    33. Label26.Text = readingJson("response")("animal_cow_water").ToString
    34. Label27.Text = readingJson("response")("animal_cow_straw").ToString
    35. Label23.Text = readingJson("response")("animal_cow_milk_tank").ToString
    36. Label32.Text = readingJson("response")("animal_sheep_population").ToString
    37. Label37.Text = readingJson("response")("animal_sheep_productivity").ToString
    38. Label9.Text = readingJson("response")("animal_sheep_feeding_trough").ToString
    39. Label36.Text = readingJson("response")("animal_sheep_wool").ToString
    40. Label62.Text = readingJson("response")("animal_pig_population").ToString
    41. Label59.Text = readingJson("response")("animal_pig_feeding_trough_mixed_ration").ToString
    42. Label57.Text = readingJson("response")("animal_pig_feeding_trough_cereals").ToString
    43. Label55.Text = readingJson("response")("animal_pig_feeding_trough_root_crops").ToString
    44. Label51.Text = readingJson("response")("animal_pig_water").ToString
    45. Label45.Text = readingJson("response")("animal_pig_manure").ToString
    46. Label69.Text = readingJson("response")("animal_pig_liquid_manure").ToString
    47. Label65.Text = readingJson("response")("animal_pig_young_count").ToString
    48. Label68.Text = readingJson("response")("animal_pig_killable_count").ToString
    49. Label53.Text = readingJson("response")("animal_pig_feeding_trough_silage").ToString
    50. Label47.Text = readingJson("response")("animal_pig_straw").ToString
    51. Label93.Text = readingJson("response")("animal_beef_productivity").ToString
    52. Label86.Text = readingJson("response")("animal_beef_feeding_trough_root_crops").ToString
    53. Label90.Text = readingJson("response")("animal_beef_feeding_trough_mixed_ration").ToString
    54. Label88.Text = readingJson("response")("animal_beef_feeding_trough_cereals").ToString
    55. Label84.Text = readingJson("response")("animal_beef_feeding_trough_silage").ToString
    56. Label82.Text = readingJson("response")("animal_beef_water").ToString
    57. Label78.Text = readingJson("response")("animal_beef_straw").ToString
    58. Label76.Text = readingJson("response")("animal_beef_manure").ToString
    59. Label71.Text = readingJson("response")("animal_beef_liquid_manure").ToString
    60. Label96.Text = readingJson("response")("animal_beef_young_count").ToString
    61. Label73.Text = readingJson("response")("animal_beef_killable_count").ToString
    62. Label41.Text = readingJson("response")("animal_chicken_population").ToString
    63. Label38.Text = readingJson("response")("animal_chicken_eeg_count").ToString
    64. Label43.Text = readingJson("response")("animal_chicken_eeg_backpack_count").ToString
    65. Label120.Text = readingJson("response")("animal_goose_productivity").ToString
    66. Label117.Text = readingJson("response")("animal_goose_feeding_trough_root_crops").ToString
    67. Label115.Text = readingJson("response")("animal_goose_feeding_trough_mixed_ration").ToString
    68. Label113.Text = readingJson("response")("animal_goose_feeding_trough_cereals").ToString
    69. Label111.Text = readingJson("response")("animal_goose_feeding_trough_silage").ToString
    70. Label109.Text = readingJson("response")("animal_goose_water").ToString
    71. Label105.Text = readingJson("response")("animal_goose_straw").ToString
    72. Label103.Text = readingJson("response")("animal_goose_manure").ToString
    73. Label123.Text = readingJson("response")("animal_goose_young_count").ToString
    74. Label100.Text = readingJson("response")("animal_goose_killable_count").ToString
    75. Label98.Text = readingJson("response")("animal_goose_straw").ToString
    76. ProgressBar1.Value = CInt(pro.Text)
    77. ProgressBar1.Maximum = 100
    78. ProgressBar2.Maximum = 100
    79. ProgressBar3.Maximum = 100
    80. ProgressBar4.Maximum = 100
    81. ProgressBar5.Maximum = 100
    82. ProgressBar6.Maximum = 100
    83. ProgressBar2.Value = CInt(Label37.Text)
    84. ProgressBar3.Value = CInt(Label36.Text)
    85. ProgressBar4.Value = CInt(Label62.Text)
    86. ProgressBar5.Value = CInt(Label93.Text)
    87. ProgressBar6.Value = CInt(Label120.Text)
    88. Func.EnableDisableLabelAll()
    89. MsgBox("Miau")
    90. End If
    91. Catch ex As Exception
    92. Func.LogError(ex)
    93. End Try

    @xX-Nick-Xx Setz mal einen Haltepunkt rein und steppe ihn durch.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    xX-Nick-Xx schrieb:

    Von haltepunkten hab ich aber auch nicht grad ne ahnung
    Gugst Du hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Der fehler ist ja auch schon bekannt...

    VB.NET-Quellcode

    1. Die Anfrage wurde abgebrochen: Timeout für Vorgang überschritten. bei System.Net.HttpWebRequest.GetResponse()
    2. bei PROGRAMM.Func.GetResponse(String link, Int32 debug) in C:\Users\nico9\Desktop\PROGRAMM\Beta\Beta\Func.vb:Zeile 82.


    EDIT: Der fehler tritt hier auf:

    VB.NET-Quellcode

    1. Dim hwresponse As Net.HttpWebResponse = CType(hwrequest.GetResponse(), HttpWebResponse)

    Ist es möglich, dass die API ein Rate-Limit hat und ihr da reinrennt? Sollte bei 5 Minuten * 6 Requests pro Minute = 30 Requests in 5 Minuten eigentlich noch nicht der Fall sein, aber bei kleinem Server / aufwändigen Requests kann das trotzdem passieren.

    EDIT: Und btw:

    xX-Nick-Xx schrieb:

    ein kollege meinte das es daran liegt weil es zu viele labels sind

    kann ich mir schwer vorstellen, aber er hat insofern Recht, dass
    a) 120 Labels (oder sogar noch mehr?) - das kann man besser designen, und ohne Benamsung kannste den Code wahrscheinlich bei der nächsten großen Überarbeitung in die Tonne treten
    b) Daten und GUI hier überhaupt nicht getrennt werden; auch das ist sehr unschön, gerade bei der Menge an Daten.
    Twitch Viewer Display Chat-, Zuschauer- und Statistiktool für Streamer