Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Sebrahi
Thema: Stacktrace von einem Thread ausgeben
Am im Forum: Rund um die Programmierung

Vielen Dank für euere Antworten.
Bzgl. der Frage was der Zweck des Ganzen ist.
Bei den Threads in meinem Programm die lange laufen, kommt es mal vor, dass ich nach ein Paar tagen merke,
dass ein Thread nicht das tut was es soll. Um zu schauen wo der Thread hängt um den Fehler zu beheben wäre es für mich sehr sinnvoll zu wissen wo es hängt.
Also wo der Thread gerade etwas ausführt.

Thema: Stacktrace von einem Thread ausgeben
Am im Forum: Rund um die Programmierung

Bei einer Exception kann man ja die Zeile herausfinden wo die Exception aufgetren ist mit :


int line = (new StackTrace(ex, true)).GetFrame(0).GetFileLineNumber();

Analog möchte ich ohne das eine Exception auftrifft, außerhalb eines Threads, die Aktuell ausgeführten Code ausgeben.
Ist das möglich mit Thread oder anderweitig?


      Thread myThread = new Thread(ThreadMethod);           
      myThread.Start();            
      myThread.GetLineOfCurrentlyExecutedCode();// Dies möchte ich realisieren

Thema: Paralleler always running Code am besten implementieren vom WPF Projekt.
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo, ich habe ein WPF Projekt. In der WPF GUI wird das Programm StartWebcrawlingParallel aufgerufen.
Diese soll mehere headless Chromefenster starten in Parallel, die nie beendet werden sollen.
Diese Chromefenster greifen auch auf eine SQL-Server Datenbank zu.

Die Fragen die ich mir stelle sind:
- sollte ich 1) Invoke 2) Task oder 3) Thread dafür benutzen?
- wie viele ich davon erstellen soll für die beste Leistung. Ich besitze einen 16 kerne Processor, sollte ich dann 16 Task/Threads/Invoke erstellen?
- Ist es ok ein WPF Projekt zu benutzen für AlwaysRunning Code? Ich möchte das mein Code die ganze Zeit läuft.


         public static void WebcrawlingAlwaysRunning()
        {
            
            ChromeOptions chromeOptions = new ChromeOptions();
            chromeOptions.AddArguments("--headless");

            var driverService = ChromeDriverService.CreateDefaultService();
            IWebDriver driver = new ChromeDriver(driverService, chromeOptions);    
        
            while (true)
            {
                //web crawling 
            }

        }
        public static void StartWebcrawlingParallel_1()
        {
            Parallel.Invoke(WebcrawlingAlwaysRunning, WebcrawlingAlwaysRunning, WebcrawlingAlwaysRunning, WebcrawlingAlwaysRunning);            
        }
        public static void StartWebcrawlingParallel_2()
        {      
            Task Task = Task.Factory.StartNew(WebcrawlingAlwaysRunning);
            Task Task2 = Task.Factory.StartNew(WebcrawlingAlwaysRunning);
            Task Task3 = Task.Factory.StartNew(WebcrawlingAlwaysRunning);            
        }
        public static void StartWebcrawlingParallel_3()
        {
            Thread thread1 = new Thread(WebcrawlingAlwaysRunning);
            Thread thread2 = new Thread(WebcrawlingAlwaysRunning);
            Thread thread3 = new Thread(WebcrawlingAlwaysRunning);
            thread1.Start();
            thread2.Start();
            thread3.Start();
        }

Thema: Ich realisiere Parallel.Invoke mit await Task.Run , gibt es Nachteile oder Unterschiede?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,


     public static async void Start_myMethod1_asyncron()
    {
        await Task.Run(() => {
            myMethod1();
        });
    }
    public static async void Start_myMethod2_asyncron()
    {
        await Task.Run(() => {
            myMethod2();
        });
    }

    public static void Main(string[] args)
    {

        Start_myMethod1_asyncron();
        Start_myMethod2_asyncron();

        //difference?

        Parallel.Invoke(myMethod1, myMethod2); 

    }
Tun Start_myMethod1_asyncron() und Start_myMethod2_asyncron() zusammen das Gleiche wie Parallel.Invoke(myMethod1, myMethod2)?
Kann ich asyncron()-Methoden verwenden, um Parallelität zu realisieren?

Thema: Objekte effizienter erstellen
Am im Forum: Grundlagen von C#

Wie kann ich dies effizienter erstellen?


                    MyClass Object_1 = new MyClass();
                    MyClass Object_2 = new MyClass();
                    .
                    .
                    .
                    MyClass Object_100 = new MyClass();



Thema: IntelliCode meine eigenen Sterne erstellen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,
die Sterne im IntelliCode zeigen die bevorzugten Methoden oder Eigenschaften von einer Klasse.

Nun möchte ich bei meinen selbst erstellen Klassen auch solche Sterne erstellen um auf meine meist genutzten Methoden schneller zugreifen zu können.

Wie ist das möglich?

Thema: Professionelle Beispielprojekte
Am im Forum: Smalltalk

Hallo,
ich suche ein oder mehrere professionelle Bespielprojekte bzw. fertige Software(kein Tutorial) die in C# geschrieben wurden,
die ich mir dann in Visual Studio betrachten kann, damit ich sehe welche Klassen und Namespace erstellt werden, wie lang diese sind, welche Konventionen sie benutzen usw.
Am besten Projekte/Software mit Datenbankanbindung.

Kennt ihr Seiten wo ich solche Projekte finden kann?

Mit freundlichen Grüßen
Sebrahi

Thema: Wieso stürzt Visual Studio ohne Fehlermeldung ab und startet neu?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

In der log steht nichts aber ich habe nun die Fehlerquelle gefunden. Die Software eXtraButtons hat den Absturz verursacht. Habe die Software beendet und nun funktioniert es wieder.

Thema: Wieso stürzt Visual Studio ohne Fehlermeldung ab und startet neu?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,
wenn ich im Projektmappen Explorer rumklicke oder nur Code schreibe (ohne etwas auszuführen) fängt Visual Studio an nicht mehr zu reagieren und startet das Projekt neu.
Ohne Fehlermeldung nichts. Er startet einfach neu nachdem er nicht reagiert hat.

Dies passiert nachdem ich das Projekt geöffnet habe nach 2-5 Minuten immer mal wieder.
Habe es auch bei einem ganz neu erstellten Projekt probiert. Das gleiche Problem.


Habt ihr eine Idee woran das liegen kann?

Viele Grüße
Sebrahi

Thema: Warum funktioniert das Updaten des UIs im Designer beim ersten mal und hängt ab dann?
Am im Forum: Datentechnologien

Hallo,
wenn ich meine Projekt öffne und im Designer etwas veränderte und dann auf Aktualisieren drücke dann funktioniert es beim ersten mal das Updaten.
Wenn ich danach dann nochmal was verändere z.b neue spalte hinzufügen, dann erscheint ewig die Meldung Updateskript wird vorbereitet... wie unten im Bild zu sehen.

Wenn ich mein Projekt schließe und wieder öffne dann kann ich erneut einmal was ändern und danach hängt es wieder bei der nächsten Aktualisierung im Designer.

Auch bei jeder anderen Datenbank und Tabelle in diesem Projekt tritt dies auf.
Auch aktualisieren der Datenbank hat dieses Problem nicht gelöst.

Wie kann ich dieses Problem beheben?

Thema: Welches Datenbanksystem für VS und meinen Anforderungen?
Am im Forum: Datentechnologien

Vielen Dank für die Vorschläge.


Ich habe gesehen, dass es bei SQL Server Express die Möglichkeit gibt eine lokale Datenbankdatei zu erstellen.
Welche Vor- und Nachteile hätte dies? Würde dies zu meinen Anforderungen besser passen oder ist es egal ob die Datenbank lokal ist oder nicht?

Thema: Welches Datenbanksystem für VS und meinen Anforderungen?
Am im Forum: Datentechnologien

Hallo,
ich wollte fragen welches Datenbanksystem sich eurer Meinung nach am besten für folgende Kriterien eignet:

-Ich möchte nur in Visual Studio mit der Datenbank arbeiten.
-Ich möchte Daten von Webseiten in die Datenbank mittels C# speichern und auslesen.
-Die Datenbanksprache soll SQL sein.
-Jährlich kommen 1 Millionen Einträge dazu. (8 Millionen Einträge reichen insgesamt).
-Nur ich werde die Datenbank benutzen.
-Keine kommerzielle Verwendung
-Kostenlos bis 70€ im Jahr


Viele Grüße
Sebrahi

Thema: Selenium headless Chrome eingeloggt bleiben
Am im Forum: Rund um die Programmierung

Hallo liebe Community,
mit meinen unten beschriebener Code funktioniert es ,dass ich mich auf einer Webseite einlogge und beim nächsten Start von Chrome eingeloggt bleibe.

Wenn ich aber Chrome in headless starte dann funktioniert es nicht mehr und bleibe nicht mehr eingeloggt wenn ich Chrome schließe und erneut starte.

Wie kann man dies beheben bzw. woran liegt das?

          
        static void Main(string[] args)
        {
            var chromeOptions = new ChromeOptions();        
    
            chromeOptions.AddArguments("--window-size=1920,1080");
            chromeOptions.AddArguments("start-maximized");
            chromeOptions.AddArguments("user-data-dir=C:/Users/seb/Downloads/Mein_ Chrome_Profile");  // Daten wie Cookies,Local State,Preferences usw. werden hier gespeichert
            chromeOptions.AddArguments("--no-sandbox");
            //chromeOptions.AddArguments("headless"); (Mit headless funktioniert es nicht)

            var chromeDriverService = ChromeDriverService.CreateDefaultService();
            chromeDriverService.HideCommandPromptWindow = true;            
          
            using (IWebDriver driver = new ChromeDriver(chromeDriverService, chromeOptions))
            {
                //Code zum Einloggen einer Webseite

            }

       }

Thema: Wie kann ich Codeblöcke in eine Methode übergeben?
Am im Forum: Grundlagen von C#

Hallo liebe Community,
gibt es eine Möglichkeit eine Methode zu erstellen die Anweisungen in geschweiften Klammern übergibt. Als Beispiel ich erstelle folgende Methode


        public static void vier_mal_wiederholen()
        {
            for(int i=1;i≤4;i++)
            {
                // hier soll der Code rein der viermal wiederholt werden soll

            }

        }


Nun ist mein Ziel die Methode folgendermaßen aufrufen zu können.


       vier_mal_wiederholen()
      {
         MessageBox.Show("hi");
      }

Also eine Methode erstellen die die Anweisungen in den geschweiften Klammern an eine bestimmte stelle in der Methode ausführt.

Ist dies möglich in C# zu realisieren und falls ja wie ist das möglich?