none
Browser hängt sich nach Click-Event auf RRS feed

  • Frage

  • Hallo
     
     Seit einigen Wochen habe ich ein Problem. Wenn ich einen Button klicke und ein Click-Event auslöse, hängt sich der Browser sozusagen auf. Ich bekomme dann sämtliche Browser meist nicht mehr aktiviert, das alles war sehr nervig.
     
     Heute habe ich mir eine ausgiebige Fehlersuche gegönnt. Die Scirpts konnten es nicht sein, die waren aus dem Lehrbuch. Aber ich habe entdeckt, dass der Übeltäter wohl mit der "heuristische Analyse" in den Kaspersky-Einstellungen zusammenhängt. Entferne ich es, funktioniert es ohne Probleme.
     
    Kaspersky FAQ
    "..Die heuristische Analyse dient also der Suche nach unbekannten Viren. Bei der Überprüfung eines Programms emuliert die Analyse seine Ausführung und protokolliert alle verdächtigen Aktionen, wie z. B. Öffnen oder Schreiben in eine Datei, das Abfangen von Interruptvektoren usw. Anhand dieses Protokolls fällt die Entscheidung, ob das Programm mit einem Virus befallen ist.

    So können mithilfe der heuristischen Code-Analyse bis zu 92% der neuen Viren entdeckt werden. Diese Methode ist sehr effizient und führt nur äußerst selten zu Fehlalarmen. Die Dateien, in denen die heuristische Analyse den Verdacht auf einen Virus festgestellt hat, sind möglicherweise infiziert oder verdächtig...."

    In meinem Falle handelt es sich vermutlich nur um ein simples response.redirect() am Script-Ende.

    Server.transfer() besteht die Analyse.  

    Ich poste dies hier, vielleicht haben andere ein ähnliches Problem.
    Liebe Grüße, die Luzie!
    • Bearbeitet Luzie Donnerstag, 8. Dezember 2011 17:46
    Donnerstag, 8. Dezember 2011 17:45

Antworten

  • Hi

    das Problem scheint gelöst zu sein. Warum, weiß ich nicht. Der Support schrieb mir heute, ich solle doch mal auf KIS 2012 updaten. Ich habe die "Problemzonenseiten"  vor dem Update auf KIS 2012 nochmals in KIS 2011 getestet. Sowohl der Redirect als auch das An- bzw. Abmelden funktionierten in den Standardeinstellungen, was vor ein paar Tagen noch nicht der Fall war.

    Naja, jetzt hat sich alles irgendwie erledigt und hinterläßt doch ein ungutes Gefühl bei allem "Steinvomherzenfallen". :)


    Liebe Grüße, die Luzie!
    • Bearbeitet Luzie Dienstag, 20. Dezember 2011 21:30
    • Als Antwort markiert Luzie Dienstag, 20. Dezember 2011 21:30
    Dienstag, 20. Dezember 2011 21:29

Alle Antworten

  • Hi,

    ich halte es für äußerst unwahrscheinlich, dass eine Heuristik mit Response.Redirect Probleme hat.

    Eher dürfte es dazu kommen, dass Response.Redirect immer wieder und wieder aufgerufen wird (sozusagen eine Endlosschleife für Browser und Webserver.

    Starte die Anwendung mal im Debugmodus (F5 im Visual Studio), setz einen Breakpoint auf die Zeile mit Response.Redirect und schau dir dann mit Einzelschritten (F10) an, was genau da eigentlich passiert.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Donnerstag, 8. Dezember 2011 18:14
    Moderator
  • Hi

    es wäre natürlich gut, wenn es eine andere Ursache geben würde.

    Ich glaube allerdings nicht, dass es eine Endlosschleife zeiht.

    Nach dem Debuggen kommt bis zum Haltepunkt ein Fehler, aber ich kann nicht feststellen, wo er produziert wird und ich denke, dass er auch nicht unmittelbar mit dem Problem zu tun hat.

    Fehler    1   
    Der CodeDom-Anbietertyp Microsoft.VJSharp.VJSharpCodeProvider, VJSharpCodeProvider, Version=4.0.0.0, Culture=neutral,
    PublicKeyToken=b03f5f7f11d50a3a konnte nicht gefunden werden.   

    Bestätige ich die Meldung, ob das Script ausgeführt werden soll, dann hängt er sich beim Response.redirct auf, beim Server.transfer läuft es durch (so interpretiere ich das, lass mich aber eines besseren belehren).

    Tatsache ist, dass es bei mehreren Event hängt, immer, wenn ein Redirect nach einer Aktualisierung ausgeführt wird.
    Weiterhin habe ich das Problem erst seit ca. 2-3 Wochen. Ich habe nicht viele Redirects laufen, deshalb ist es mir erst jetzt aufgefallen. Aber u.g. Script ist seit einem Jahr nicht geändert worden und läuft jeden Monat einmal, und letzten Monat hat es noch funktioniert. Also muss sich in der Zwischenzeit etwas ereignet haben, worauf ich keinen Einfluss hatte. Im meinem Büro läuft die gleiche Kaspersky-Lizenz und da habe ich das gleiche Problem. Mein Mann hat eine andere Firewall bzw. Virenprogramm und da funktioniert es mit dem Redirect.

    Das Scirpt aendernAll setzt alle Newsletter-Abo auf an- bzw. abgemeldet. Anschließend wird die Seite neu geladen.

    Wenn ich die heuristische Analyse in den Kaspersky-Einstellungen deaktiviere, läuft das Scirpt auch mit dem Redirect.

    Ich bin auch nur durch Zufall drauf gekommen, als ich bei der Fehlersuche einen älteren Wiederherstellungspunkt aktiviert habe und der Kaspersky beim Laden der Updates kurz deaktiviert war.

    Dies ist die Prozedur
     
    Public Sub aendernAll(ByVal foo As Integer)
            Dim conn As SqlConnection = New SqlConnection(configDT.conPTS)
            Dim sql As String = "update newsletter set anmelden=@foo"
            Dim cmd As SqlCommand = New SqlCommand(sql, conn)
            cmd.Parameters.AddWithValue("@foo", foo)
            Try
                conn.Open()
                cmd.ExecuteNonQuery()
    
            Catch e As SqlException
                Throw New ArgumentException(e.Message)
            Finally
                conn.Close()
            End Try
    
        End Sub

    und dies ist das Event

    Protected Sub btn_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            Dim btn As Button = DirectCast(sender, Button)
            Select Case btn.ID
                Case "btnTesten"
                    getNL1(1, Me.tbAnzahl.Text, rdZuordnung.SelectedValue)
                    ViewState("zahl") = ViewState("zahl") + 1
                    anzeigen(newsletterCount, getIsNumeric(Me.tbAnzahl.Text))
                Case "btnAnmelden"
                    aendernAll(1)
                Case "btnAbmelden"
                    aendernAll(0)
                  response.redirect("~/Admin/newsletter/default.aspx")
                Case "btnSpeichern"
                    Me.lbl.Text = newsletterCount()
            End Select
        End Sub


       
     

    Liebe Grüße, die Luzie!
    • Bearbeitet Luzie Donnerstag, 8. Dezember 2011 20:20
    Donnerstag, 8. Dezember 2011 20:18
  • Hi

    ich habe jetzt noch mal ausgiebig getestet, Seiten neu aufgebaut und das System etliche Male neu gestartet.

    Der Knackpunkt ist meiner Meinung der Response.redirect, aber nur in Verbindung mit der Abfrage if not page.ispostback then.. im Page_load event und wenn die "Heuristische Analye" im Kaspersky aktiviert ist. Hab auch weiter keine Erklärung dafür und Google hat mich auch nicht schlauer gemacht.
    Liebe Grüße, die Luzie!
    • Als Antwort markiert Luzie Samstag, 10. Dezember 2011 19:18
    • Tag als Antwort aufgehoben Luzie Donnerstag, 15. Dezember 2011 07:05
    Samstag, 10. Dezember 2011 19:18
  • Hallo Luzie,

    vielen Dank für die Erklärung. Kannst Du mir ein minimales Skript, mit welchem sich das Problem reproduzieren lässt, zukommen lassen? Ich würde das dann mal mit meiner Kaspersky Installation testen. Welche Version genau verwendest Du? Internet Security 2012? Oder was anderes? Welche genaue Versionsnummer hat deine Installation? (Klick auf "Support" im Hauptprogrammfenster)

     

     

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Samstag, 10. Dezember 2011 21:43
    Moderator
  • Kasperky-Version
    11.0.2.556(b)
    Kaspersky Security 2011

    Mein System ist Windows 7 sp 1 bzw. windows xp Sp 3

    Ich habe jetzt versucht, diesen, ich weiß nicht, ob man ihn Fehler nennen kann, in einer anderen Datei zu produzieren.

    Hier kann ich den Fehler nicht provozieren.

    - einem neuen Element ohne Master und Code-Behind
    - einem neuen Element ohne Master und mit Code-Behind

    Der Fehler ist derzeit nur in einem Element zu provozieren, was mit meiner Master-Datei verbunden ist.

    Ich habe die Master-Datei dann Schritt für Schritt aufgebaut und festgestellt, wenn ich das Treeview-Control entferne, kommt der Fehler nicht.

      <asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1"
            ShowLines="True" NodeWrap="True" SelectedNodeStyle-ForeColor="Maroon" ExpandDepth="FullyExpand">
            <SelectedNodeStyle Font-Bold="True"
            Font-Underline="True" CssClass="treev" />
        </asp:TreeView>
      <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" /> 

      Das ist allerdings unabhängig vom Event, was sich im Code-Behind befindet.
     
      Protected Sub TreeView1_TreeNodeDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles TreeView1.TreeNodeDataBound
              Dim appPath As String = Me.Request.ApplicationPath
              Dim linkPath As String = e.Node.NavigateUrl.Remove(0, appPath.Length)
              e.Node.NavigateUrl = Me.ResolveUrl("~/" & linkPath)
        End Sub

    Also, der momentane Stand ist: Ich kann den Fehler provozieren wenn

    - ich das das Redirect auf die selbe Seite aktiviere wo vorher eine Datenbankaktualisierung stattgefunden hat
    - welche mit einer Master-Datei verbunden ist
    - wo ein Treeview eingebettet ist.
     
     Aber ob das jetzt letztendlich wirklich der Knackpunkt ist, weiß ich nicht. Ich habe das Gefühl, das ändert sich jeden Tag. Ich habe ja auch keinen Einfluss auf die Datenbank, die mir Kaspersky auf den Rechner läd.
     
    Der Fehler tritt auch in einer anderen Datei auf, wo ich keinen Treeview verwende und die Controls zur Laufzeit erzeugt werden.
     
     Ich hatte vor ein paar Tagen schon einmal die Master-Datei in Verdacht, aber da ließ sich der Fehler mit einer neuen Datei nicht produzieren. Die Fehlersuche ist auch sehr mühsam, ich muss jedesmal das System neu starten, weil die Browser komplett versuchen, eine Verbindung auf zu bauen, was aber nicht funktioniert. Ich weiß nicht, wie ich das im laufenden System stoppen kann, wenn es einmal läuft.
     
     Aber noch mal, dieses Problem habe ich nur, wenn die Heuristische Analyse im Kaspersky aktiviert ist und der Redirect auf die selbe Seite weiterleitet. Setze ich anstelle dessen den Server.transfer ein, läuft es. Und noch was, wie ich auch schon geschrieben habe, diese Problem hatte ich vor 4 Wochen eindeutig noch nicht.
     
    Den Code, der bei mir so nicht funktioniert, habe ich in einer separaten Datei hier liegen

    http://www.pts.eu/code.txt
    Liebe Grüße, die Luzie!
    Sonntag, 11. Dezember 2011 13:15
  • Ich hatte ein ähnliches Problem, dass die Webseite sich plötzlich aufhing, plötzlich wieder ging usw. unglaublich nervig, da man kein eigentlichen Fehler findet.

    Nun, der Übeltäter war der IIS meines Windows 7 Professional. Hab diesen deinstalliert/deaktiviert. Danach hat es mit dem VS2010 eigenen "Webserver" alles funktioniert.

    Nur so als Idee...

     

    Dienstag, 13. Dezember 2011 10:47
  • Hallo

    man ist ja für jeden Tipp dankbar :)

    Aber das bringt auch keine Änderung.

    Das Problem ist, dass der KIS 2011 in meiner Anwendung etwas findet, was ihn dazu veranlasst, keine weiteren Webanwendungen in sämtlichen Browsern zuzulassen. Man kann dies auch nicht abstellen oder unterbrechen, nur ein Systemstart hilft da.  Solange ich nicht weiß, wo das Problem ist, komme ich selbst nicht weiter. Beim Debuggen kann ich keinen Fehler finden.

    Es hängt mit dem Redirect zusammen, in welchem Ausmaß und in welchem Zusammenhang, kann ich nicht feststellen. Es gibt möglicherweise viele Weiterleitungen, die asp.net mit javascript generiert, wo ich keinen Einfluss habe, wenn ich die fertigen Controls nutze. Beim Login bzw. Logout tritt es am häufigsten auf, aber immer, wenn eine andere Anwendung (was auch immer, ob Buttonklick oder popup-Aufruf) vorangegangen ist.

    Im Kaspersky Forum hat sich noch jemand gemeldet, der dieses Problem hat. Der Support weiß Bescheid. In dem Fall müssen wir abwarten.

    Ich möchte jetzt auch ungern die Arbeit von 2 Jahren in die Tonne kloppen, aber ich bin kein Profi, ich bin nur für die Konstruktion und Weiterentwicklung unserer firmeneigene Website zuständig.

    Ich wünschte mir, der Fehler würde bei mir liegen. Aber letztendlich kann ich das nicht einschätzen. Ich muss eine externe Firma beantragen, das Produkt zu prüfen.


    Liebe Grüße, die Luzie!

    • Bearbeitet Luzie Donnerstag, 15. Dezember 2011 07:26
    Donnerstag, 15. Dezember 2011 07:24
  • In ASP.net Projekten in der global.asax gibt es eine Application_Error Methode:

     

    void Application_Error(object sender, EventArgs e)

    {

    Exception ex = Server.GetLastError();

    }

    So kannst du diese auslesen, vielleicht hilft dir das weiter.

    Donnerstag, 15. Dezember 2011 12:27
  • Habt ihr Kaspersky auf dem Server installiert? Wenn ja dann kann man dort die Datenbank Datei und den ganzen SQL Server als Ausnahme definieren.
    Donnerstag, 15. Dezember 2011 12:29
  • Hi

    nein, wir haben KIS 2011 nur auf den Bürorechnern installiert. Meinst Du, es liegt am SQL-Server? Da habe ich jetzt gar nicht dran gedacht. Der läuft eigentlich tippitoppi. Für die connection habe ich eine Benutzerzugangsregelung.

    Zur Application_error, da kommen keine Fehler, das hab ich schon getestet.

     


    Liebe Grüße, die Luzie!
    Donnerstag, 15. Dezember 2011 17:46
  • Wenn kaspersky nicht auf dem Sevrer installiert ist sollte das kein Problem machen. Ich hatte mich da nur an ein problem erinnert, das ich mal hatte mit Kaspersky auf Servern.

    • Als Antwort markiert Luzie Dienstag, 20. Dezember 2011 21:29
    • Tag als Antwort aufgehoben Luzie Dienstag, 20. Dezember 2011 21:30
    Freitag, 16. Dezember 2011 12:35
  • Hi

    das Problem scheint gelöst zu sein. Warum, weiß ich nicht. Der Support schrieb mir heute, ich solle doch mal auf KIS 2012 updaten. Ich habe die "Problemzonenseiten"  vor dem Update auf KIS 2012 nochmals in KIS 2011 getestet. Sowohl der Redirect als auch das An- bzw. Abmelden funktionierten in den Standardeinstellungen, was vor ein paar Tagen noch nicht der Fall war.

    Naja, jetzt hat sich alles irgendwie erledigt und hinterläßt doch ein ungutes Gefühl bei allem "Steinvomherzenfallen". :)


    Liebe Grüße, die Luzie!
    • Bearbeitet Luzie Dienstag, 20. Dezember 2011 21:30
    • Als Antwort markiert Luzie Dienstag, 20. Dezember 2011 21:30
    Dienstag, 20. Dezember 2011 21:29