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 david.m
Thema: Klasse in Datei schreiben und lesen
Am im Forum: Grundlagen von C#

Du hast den Hinweis zum BinaryFormatter gelesen?

Zitat
BinaryFormatter ist unsicher und kann nicht sicher gemacht werden. Weitere Informationen finden Sie im BinaryFormatter-Sicherheitshandbuch.

Deserialisierungsrisiken in der Verwendung von BinaryFormatter- und verwandten Typen

Thema: Ersten Werktag im Monat ermitteln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Mit default erfolgt eine Initialisierung mit dem Standardwert des jeweiligen Typ.
In den Fall ist aber keine Initialisierung notwendig, diese oder eine Zuweisung ist nur vor dem ersten Lesezugriff notwendig.
Mit welchen Wert eine Initialisierung ist eher fachlicher Natur und nicht technischer Natur.

Als Vorschlag was kürzer ist (ungetestet):


    // public DateTime NextBuisinessDay(DateTime date, Dictionary<DateTime, string> holidays)
    public DateOnly NextBuisinessDay(DateOnly date, Dictionary<DateOnly, string> holidays)
    {
        while (IsWeekend(date) || IsHoliday(date, holidays))
        {
            date = date.AddDays(1);
        }

        return date;
    }

Thema: Grafik beim Drucken verzerrt
Am im Forum: Grafik und Sound

Ist ja schon ein Unterschied ob A4, A5, A3 oder andere Papiergrößen im Drucker liegen.

Ich habe mit Drucken ewig nichts mehr zu tun gehabt. aber die Einheiten sind wohl andere mm oder 100/inch sind dort üblich.

Wie Th69 geschrieben hat kann man die Transformation angeben um die Logik für das Zeichnen nur einer Einheit machen muss.

Thema: Grafik beim Drucken verzerrt
Am im Forum: Grafik und Sound

PrintPageEventArgs bietet doch die Eigenschaften für die Seitengröße.
Diese musst Du entsprechende verwenden und umrechnen, für das Zeichnen der Linien.

Eine Bitmap hat eine andere DPI z.B. 96, als ein Drucker (z.B. 300 oder 600).

Siehe auch Beispiel PrintDocument.PrintPage Ereignis (System.Drawing.Printing)

Thema: Grafik beim Drucken verzerrt
Am im Forum: Grafik und Sound

Wenn ich das richtig sehe wird erst eine Bitmap erstellt, welche dann auf das PrintDocument gezeichnet wird.
Warum der Umweg über das Bitmap und nicht direkt auf e.Graphics zeichnen?

Thema: Dateien von Webseite herunterladen, nach Button-Klick
Am im Forum: Netzwerktechnologien

Warum extra curl für den Download starten.
Die URL ist doch vorhanden, dann kannst du doch den HttpClient nehmen.

Thema: Serialisierung großer Datenmengen (Binär)
Am im Forum: Rund um die Programmierung

Bei der Menge wird es aber schon schwierig diese komplett im Speicher (Liste) zuhalten.

Was sind das den für Objekte?
Ggf. würde sich auch eine relationale Datenbank, wie SQLite an bieten.

Thema: Webseiten Link automatisch abfragen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Die WebClient Klasse sollte nicht mehr verwendet werden, sondern die HttpClient Klasse.

Thema: Webseiten Link automatisch abfragen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ist das eine personalisierte Version TeamViewer QuickSupport?

Download von TeamViewer für die verschiedenen Plattformen ist unter https://www.teamviewer.com/de/download/ erreichbar.

Der Download für die normale aktuelle Version vom QuickSupport ist doch immer der gleiche.
https://download.teamviewer.com/download/TeamViewerQS.exe

Thema: Sammelthema Wünsche und Bugreports myCSharp
Am im Forum: Wünsche und Kritik

In der Liste der versendeten Nachrichten zeigen die Links der Seiten auf die der Inbox. Lassen sich privat versendetet Nachrichten nicht löschen?

Thema: Klasse T in generischer Methode instanziieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Warum die Methoden umständlich per Reflection in ein Dictionary packen gerade wenn die statisch sind und nicht bei der Definition.


        Dictionary<string, Func<bool>> methodMap = new();

        methodMap["true"] = static () =>
        {
            return true;
        };

        methodMap["false"] = static () =>
        {
            return false;
        };

Thema: Verbinden mit IIS Server
Am im Forum: Rund um die Programmierung

Es gibt laut Doku die Methode ServerManager.OpenRemote(String) die wohl das macht was Du willst.

Thema: Aufgabe: Flugposition protokollieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Du öffnest die Datei mit einen relativen Pfad und dieser muss halt nicht der sein wo die exe liegt.

Das aktuelle Verzeichnis kann mit Directory.GetCurrentDirectory Methode ermittelt werden.

Ich bin mit jetzt auch nicht ganz sicher, aber ich meine wenn das Programm aus Visual Studio gestartet wird ist das aktuelle Verzeichnis in dem die Projektdatei liegt.

Thema: 5 Minuten Blöcke & Modulo innerhalb einer Stunde
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Sollte nicht auch folgendes zum Ergebnis führen


var minute = 7; // nur z.B.

var gerundet = minute - (minute % 5); // 5 = 7 - (7 % 5)

Thema: datagridview: DataGridViewCell.Value.**get** hat null zurückgegeben.
Am im Forum: GUI: Windows-Forms

break ist aber keine Lösung. Denn was machst Du, wenn es mehr als eine Zeile ist.

Schaue dir DataGridViewRow.IsNewRow Eigenschaft an.

Thema: datagridview: DataGridViewCell.Value.**get** hat null zurückgegeben.
Am im Forum: GUI: Windows-Forms

Ich habe ewig nichts mehr mit Winforms und dem DGV gemacht.

Aber kann es sein das die NullReferenceException beim zweiten Durchlauf kommt.
Ich meine wenn die Rows durchlaufen werden sind alle dabei, auch die Zeile um eine neue zustellen dabei.

Thema: Überprüfen, ob externes Programm installiert ist
Am im Forum: Rund um die Programmierung

Was man machen könnte wäre die Ausgabe von where zu parsen.

where externesProgramm.exe

Thema: Symbole / Legende für Changelog?
Am im Forum: Smalltalk

Schaue Dir mal https://keepachangelog.com/ an.

Thema: Chat über UDP, Fehler bei Nachrichtenübertragung..
Am im Forum: Netzwerktechnologien

Auf UI Elemente darf nur auf dem UI-Thread zugriffen werden.

[FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke)

Thema: ASP.NET Core Web-API File download
Am im Forum: Web-Technologien

Sieht für mich wie ein Netzwerkpfad aus, also kann man https://docs.microsoft.com/de-de/dotnet/api/system.io.file.readallbytes?view=net-6.0 nehmen und braucht kein HttpClient.

Schaue Dir auch FileStreamResult an
https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.filestreamresult?view=aspnetcore-6.0 besser
https://www.aspsnippets.com/Articles/FileStreamResult-Net-Core-Example-Using-FileStreamResult-in-ASPNet-Core-MVC.aspx


Ohne eine Prüfung (Berechtigung, ...) eine Datei zurückzugeben ist vielleicht keine so gute Idee.

Thema: Location von .nuget ändern
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Sehe Dir folgende Links an:
How to manage the global packages, cache, temp folders in NuGet
nuget.config reference

Thema: HTML Mails Format
Am im Forum: Web-Technologien

Schau Dir mal folgenden Thread an Dokument mit C# und HTML

Thema: SQL-Server Discovery schlägt fehl
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Per UDP Broadcast kann man die SQL Server im lokalen Netzwerk ermitteln analog zur SqlDataSourceEnumerator, dazu siehe GitHub - mrsquish/SqlBrowserClient: A replacement for SqlDataSourceEnumerator in .Net5

Thema: Konsole+Windows Forms in .NET 5
Am im Forum: Grundlagen von C#

Du willst eine Konsolen Anwendung und darin WinForms verwenden?

Siehe dir mal Konsolenfenster und Windows-Fenster in einer .NET-5.0-App und OutputType für WPF- und WinForms-Apps auf WinExe festgelegt an.


<DisableWinExeOutputInference>true</DisableWinExeOutputInference>

Thema: FileStream Verhalten bei "Read only"
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Siehe Doku https://docs.microsoft.com/de-de/dotnet/api/system.io.filestream.-ctor?view=net-5.0#System_IO_FileStream__ctor_System_String_System_IO_FileMode_

Zitat
Sie können diesen Konstruktor nicht verwenden, um schreibgeschützte Dateien zu öffnen. Stattdessen müssen Sie einen Konstruktor verwenden, der einen- FileAccess Parameter akzeptiert, dessen Wert auf festgelegt ist FileAccess.Read .

Thema: Flurl.Http, C#, PHP, MySQL und das Thema Sicherheit
Am im Forum: Web-Technologien

Ab ASP.NET Core 2.1 ist die Verwendung von Ok(...) nicht mehr notwendig.
Rückgabetypen für Controlleraktionen in der ASP.NET Core-Web-API

Thema: Verzeichnis für Extensions ändern Visual Studio Code
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Als Alternative bietet sich ggf. eine Symbolische Verknüpfung.

Thema: async Task<bool>
Am im Forum: Grundlagen von C#


if (await Management()) 

Der Operator „await“ (C#-Referenz)
[Tipp] Anfängerhinweis == true / == false

Thema: Wie gelesene Forenbereiche DB-technisch umsetzen?
Am im Forum: Datentechnologien

Zitat
Wir suchen nun eine performante Möglichkeit, die es ermöglich das gewünschte Feature umzusetzen.
Dazu habe ich einen alternativen Vorschlag gemacht.
Aber mir persönlich ist dieses Feature relativ egal, da ich es nicht brauche.

Ich kenne nicht die Post pro Zeit und was so gelesen wird pro Zeit.
Ich kann mir nur vorstellen wenn die Forenübersicht aufgerufen wird, das es schneller geht da weniger Tabellen betroffen sind.
Aber dafür müsste man es testen.

Thema: Wie gelesene Forenbereiche DB-technisch umsetzen?
Am im Forum: Datentechnologien

Zitat von Abt
dass wir bei jeder Registrierung sofort für 117.000 Themen Dateneinträge erzeugen müssen
Wenn für einen neuer User alle Themen als ungelesen gekennzeichnet sein soll, dann Ja.
Ich würde sagen bei einen neuen User ist für ihn alles als gelesen gekennzeichnet.
Und das Tracking beginnt erst mit der Registrierung.
Zitat von Abt
und gleiches bei neuem Thema für 30.000 User. Hinzu kommt, dass wir Stati erzeugen müssen, die womöglich bei vielen Usern nie wieder abgefragt werden (weil Konten inaktiv etc).
Dem könnte man entgegen wirken, das nur User berücksichtigt werden deren letzte Aktivität nicht zu lange zurück liegt.
Zitat von Abt
Ich weiß nicht, wie das schneller sein soll. Das ist ja gerade das, was wir nicht wollen: expotentielles Wachstum / Leistungsthema. Oder sehe ich das falsch?
Aber wenn ich das richtig sehe mit dem aktuellen Datenbankschema, spielt die Tabelle ForumBoardUserVisits keine Rolle um an die Informationen zu bekommen, ob alle Themen eines Boards gelesen sind.
Und anders müsste die Informationen aus mehreren Tabellen ermittelt werden, neben ForumThreadUserVisits müssten auch noch ForumPosts und ForumThreads berücksichtigt werden.
Bei meinen Vorschlag nur die eine Tabelle.


Weiterhin hat man damit auch die Möglichkeit auszuräumen, z.B. ältere Einträge aus der Tabelle löschen.
Und ich weiß nicht ob es gewünscht ist über die Jahre festzuhalten, wann was von jeden User gelesen wurde.
Ob das wirklich schneller, müsste man testen.