C# Exception aus Fire and Forget Task behandeln?

Ich versuche mit Selenium eine Website zu überwachen und damit zu interagieren. Dafür gibt es eine Liste mit Dingen die überwacht werden sollen und eine Liste mit Observern die dafür zur Verfügung stehen. Bei dem überwachen können gelegentlich Fehler auftreten, z.B. wenn Chrome crashed. Dann soll alles neu gestartet werden. So sieht es aktuell aus:

        public async Task Observe(List<string> objectsToObserve, CancellationToken token)
        {
            Exception exception = null;
            var objectsQueue = new Queue<string>(objectsToObserve);
            var observerQueue = new Queue<Observer>(_observers);
            while (true)
            {
                while (!observerQueue.Any())
                {
                    await Task.Delay(10);
                }
                if (exception is not null)
                    throw exception ;
                if (token.IsCancellationRequested)
                    return;
                var objectToObserve = objectsQueue.Dequeue();
                var observer = observerQueue.Dequeue();
                _ = observer.Observe(objectToObserve).ContinueWith(x =>
                {
                    if (x.IsFaulted)
                        exception = x.Exception;
                    objectsQueue.Enqueue(objectToObserve);
                    observerQueue.Enqueue(observer);
                });
            }
        }  

Wenn dieser Task ne Exception wirft, wird neugestartet. Da das observen aber nicht awaitet wird, weil mehrere davon parallel laufen sollen, kann ich die Exception nicht richtig behandeln. Geht das irgendwie besser?

Computer, Schule, programmieren, C Sharp
C# String vergleich ohne Beachtung der Groß- Kleinschreibung?

Hallo, ich habe seit gestern mit dem progammieren von C# angefangen.

Das Programm "Streamer.bot", das man mit Twitch verbinden kann, unterstützt eigene C# Codes und deshalb bin ich darauf gekommen mit dem "programmieren" anzufangen.

Ich habe einen Code erstellt, in dem ein Input (string msg) mit einer Textdatei (string[] blacklist) verglichen wird. In der Textdatei stehen alle Blacklist Wörter.

Nun bin ich auf das Problem gestoßen, dass die Groß- und Kleinschreibung bei dem vergleich beachtet wird und das ist bei einer Blacklist eher nachteilig.

Meine Frage an dieser Stelle ist, wie ich es schaffe, dass die Groß- und Kleinschreibung bei dem vergleich ignoriert wird.

Ich hoffe sehr, dass mir jemand helfen kann,
Liebe Grüße, JuuriiK :)

msg= Input eines users

blacklist= Blacklist txt datei

Im folgenden ist der Code:

using System;
using System.IO;
using System.Linq;


public class CPHInline
{
    public bool Execute()
    {
        string userName = args["userName"].ToString();
		string TOSmsg = args["TOSmsg"].ToString();
        string msg = args["rawInput"].ToString();
        string[] blacklist = File.ReadAllLines(args["blacklistDatei"].ToString());
		string actionName =  args["actionName"].ToString();
        if (blacklist.Equals(msg))
        {
            CPH.TimeoutUser(args["user"].ToString(), 30);
            CPH.SendMessage(TOSmsg);
        }
        else
        {
            CPH.RunAction(actionName);
        }


        return true;
    }
}
Computer, Vergleich, Programmierer, programmieren, C Sharp, Programmiersprache, String
Bei Button1_Click ein Label und einen Button erstellen C#?

Hallo,

Problem ist folgendes: ich möchte eine ToDo Liste in C# und XAML erstellen. Wenn man einen Knopf drückt, dann soll unten in einem StackPanel ein Label und ein Knopf, der das zugehörige Label sowie sich selbst beim klicken löscht, erstellt werden. In dem Label soll der Text von einer TextBox stehen. Man kann also sozusagen eine Aufgabe erstellen, dann wird sie in ein label mit einem Button geschrieben, und wenn man sie erledigt hat, klickt man auf den button und die Aufgabe verschwindet mit dem Button. Ich bin noch einsteiger und habe mal im Internet geguckt, konnte dort aber nichts hilfreiches finden.

Hier der Xaml-Code

  <Grid>

    <Grid.RowDefinitions>

      <RowDefinition Height="85"></RowDefinition>

      <RowDefinition></RowDefinition>

    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>

      <ColumnDefinition/>

      <ColumnDefinition Width="100"/>

    </Grid.ColumnDefinitions>

    <StackPanel Grid.ColumnSpan="2">

      <Label>Gebe eine Aufgabe ein</Label>

      <TextBox Margin="10, 5, 10, 0"></TextBox>

      <StackPanel Orientation="Horizontal">

      <Button Width="100" HorizontalAlignment="Left" Margin="10" Click="Button_Click">Bestätigen

      </Button>

        <Button Width="100" HorizontalAlignment="Left" Margin="10">Alles Löschen</Button>

      </StackPanel>

    </StackPanel>

  </Grid>

Nach möglichkeit soll das Label in der Linken Spalte und der Button in der rechten Spalte angezeigt werden.

Lg und Vielen dank schonmal

Bild zum Beitrag
Computer, programmieren, C Sharp

Meistgelesene Beiträge zum Thema C Sharp