Laden...
S
sambuca
myCSharp.de - Member
5
Themen
13
Beiträge
Letzte Aktivität
vor 8 Monaten
Dabei seit
26.08.2022
Erstellt vor 8 Monaten

Ja es handelt sich tatsächlich um ein USB zu RS232. Energieeinstellungen habe ich keine.

Der passende Treiber ist natürlich aktiviert

Erstellt vor 8 Monaten

Hallo,

und Vielen Dank für deine Antwort. Für mich ist allerdings folgendes noch immer unklar, wenn der Port einige Stunden lief ohne Probleme und auf einmal reagiert er nicht mehr auf die gesendeten Daten da der Port angeblich geschlossen ist.

Jedes Mal beim senden fragt er zuvor allerdings ab ob der Port bereits geöffnet ist oder nicht. Ist er geöffnet, sendet er die Daten. Sofern er nicht geöffnet ist probiert er ihn zu öffnen und schlägt dabei aber fehl.

Wenn ich nun allerdings meine Anwendung neustarte, kann er den Port ganz normal öffnen auch wenn keine Close Methode beim Schließen vorhanden ist, warum kann er es beim Neustart aber nicht wenn ich zuvor Abfrage ob der Port geöffnet ist oder nicht ?

Das Verständnis hierzu fehlt mir gerade einfach

Erstellt vor 8 Monaten

Hallo,

ich habe aktuell das Problem, dass mein serialPort nach ein paar Stunden nicht mehr funktioniert.

Die Exception gibt aus dass der Port geschlossen ist. Das erneute öffnen führt zum Fehler dass der Port nicht geöffnet werden kann.

Nach einem Neustart des Programmes läuft wieder alles Reibungslos, der Port wird beim Schließen des Programmes nicht extra geschlossen.

Hat einer eine Idee wieso ?

Mfg

Erstellt vor einem Jahr

Ah klappt doch alles wie gewollt, hab vergessen ein paar Abfragen richtig abzuändern.

Da saß das Problem vor dem Monitor.

Danke für den Tipp

Erstellt vor einem Jahr

Ah ich habe zumindest vergessen den DownloadString mit zu posten.

Daten senden tuh ich ja hier wie folgt.

So lange der Server Online ist, stellt alles kein Problem dar. Sobald dieser aber Offline ist, verzögert das ganze kurzzeitig ca 1 Sekunde.

Ich habe mal dazu ein Video gemacht

https://youtube.com/shorts/sOsCKcjGi-8?feature=share

string LizenzAbfrage = await DownloadString(Url + "haltestellen_daten&kurs=" + id);
public async Task<string> DownloadString(string url)
{
	HttpClient httpClient = new HttpClient();
	string content = await httpClient.GetStringAsync(url);
	return content;
}
Erstellt vor einem Jahr

Hallo und vielen Dank für deine Antwort. Leider besteht das Problem weiterhin trotz dass ich es bisher umgeschrieben habe.

Ich habe es nun wie folgt umgeschrieben

public async Task<string> DownloadString(string url)
{
	HttpClient httpClient = new HttpClient();
	string content = await httpClient.GetStringAsync(url);
	return content;
}
private async Task<bool> MacCheckAsync()
{
	try
	{
		string LizenzAbfrage = await DownloadString(Url + "haltestellen_daten&kurs=" + id);
	}
	catch
	{
		return
	}
}
Erstellt vor einem Jahr

Hallo,

ich möchte Daten von meinem Server auslesen. Solange der Server verfügbar ist, stellt dies auch kein Problem dar. Allerdings kommen die ersten Probleme sobald der Server nicht erreichbar ist, bspw beim Restart oder Shutdown. Ist solch ein Fall eingetreten wird die Form für kurze Zeit blockiert. Gibt es eine Möglichkeit das Blockieren zu verhindern sofern er nicht sofort Daten vom Server erhält ?

Folgenden Code habe ich

public class WebClientWithTimeout : WebClient
        {
            public int Timeout { get; set; } = 1000; //10 secs default

            //for sync requests
            protected  override WebRequest GetWebRequest(Uri uri)
            {
                var w = base.GetWebRequest(uri);
                w.Timeout = Timeout; //10 seconds timeout
                return w;
            }

            //the above does not work for async requests, lets override the method
            public new async Task<string> DownloadStringTaskAsync(Uri address)
            {
                return await RunWithTimeout(base.DownloadStringTaskAsync(address));
            }

            public new async Task<string> UploadStringTaskAsync(string address, string data)
            {
                return await RunWithTimeout(base.UploadStringTaskAsync(address, data));
            }

            private async Task<T> RunWithTimeout<T>(Task<T> task)
            {
                if (task == await Task.WhenAny(task, Task.Delay(Timeout)))
                    return await task;
                else
                {
                    this.CancelAsync();
                    throw new TimeoutException();
                }
            }
        }
WebClient client = new WebClientWithTimeout();
string strPageCode = client.DownloadString(Url + "haltestellen_daten&kurs=" + id);

Über jede Hilfe wäre ich dankbar.

Liebe Grüße

Erstellt vor 2 Jahren

Ja, ich musste das Projekt selbst einmal bereinigen um es in den Debugging Modus versetzen zu können um dann entsprechend mit den neuen Daten arbeiten zu können.
Üblicherweise macht er dies von selbst aber da hat Visual Studio sich scheinbar drin aufgehängt.

Erstellt vor 2 Jahren

Servus und danke dass du versuchst mir zu helfen. Habe gerade den Fehler dummerweise einfach beim austesten gefunden. Das Projekt hat sich nicht von selbst bereinigt und vermutlich somit immer die alten Daten geladen.

Nach der Bereinigung funktioniert alles wunderbar.

Erstellt vor 2 Jahren

Hallo,

aktuell habe ich das Problem dass ich meine Anwendung nicht mehr updaten kann und Sie immer auf dem aktuellen Stand bleibt. Ich habe keine Einstellungen an Visual Studio selbst vorgenommen was die Begründen könnte. Hat jemand eine Idee warum er den neuen Code dahinter nicht mehr ausliest und veraltet ist ?

Ich bin einfach überfragt...

Es gibt keine Fehlermeldungen

LG