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 t2t
Thema: Performante User Logs auf Azure
Am im Forum: Datentechnologien

Die Idee finde ich gar nicht schlecht. Habe ein bisschen recherchiert. Ich muss auf den User filtern und ich brauche die Sortierung von neu nach alt. Den User kann ich über den Partition Key abbilden und für die Sortierung nach Timestamp gibts wohl nen Trick:


var rowKey = (DateTime.MaxValue.Ticks - Timestamp.Ticks).ToString("d19")

Scheint auf den ersten Blick genau das abzudecken, was ich benötige. Dank dir!

Thema: Performante User Logs auf Azure
Am im Forum: Datentechnologien

Verwendetes Datenbanksystem: <Azure SQL>

Hallo zusammen,

meine Cloud App loggt aktuell User Daten, welche auch für den User relevant sind, in eine Azure SQL Table. Hier fallen pro Tag etliche 10k Einträge an. Für meine User sind diese Logs sehr wichtig und sie können diese in einer tabellarischen Ansicht auf der Website einsehen.

Von der Struktur sieht die Tabelle so aus:

ID UserId Timestamp Type Message Exchange

Die Anwendung zieht die Daten, gefiltert nach User, via Entity Framework sortiert von neu nach alt aus der DB. Es sind entsprechend auch Indexe gesetzt, nur leider verschlechtert sich der Index schon nach 1 - 2 Wochen immer wieder, da soviel neue Einträge stattfinden, was letztendlich zu Performance Problemen führt. Manchmal dauern einige Queries 1-5 Minuten.

Ich suche nun nach einem anderen performanteren Ansatz die User Daten zu loggen. Ich hatte an eine Document DB wie Cosmo gedacht. Könnt ihr mir mit den Mitteln die Azure bereitstellt eine gute Alternative raten? Denn ich möchte ja auch einigermaßen kosteneffizient bleiben. Aktuell hätte ich nur die Möglichkeit ne fettere DB bereitzustellen, was nicht gerade günstig ist.

Thema: mycsharp.de ist nun auf Azure umgezogen
Am im Forum: Ankündigungen

Sehr cool. Erfolgt der Swap automatisch oder durch ein manuelles "approval"?

Thema: VS Solution-Verwaltung: CI / CD best practices für GIT
Am im Forum: Rund um die Programmierung

For the record: Ich hab diesen Anwendungsfall tatsächlich recht gut mittels Git Submodules lösen können. Ein push vom Submodule landet dann im jeweiligen Repo des Services und wird dann nach dem Merge auf den Master automatisch von der GitLab CI Pipeline verarbeitet.
Ich hab eine Haupt-Solution, welche die unterschiedlichen Services zusammenfasst, die per Submodule referenziert sind. Dadurch bin ich in der Lage alle benötigten Services in der Entwicklung gleichzeitig zu starten und zu debuggen. Ziemlich komfortabel.
Einzige Wermutstropfen ist, dass Visual Studios Git Integration damit nicht mehr umgehen kann. Das löse ich über die CommandLine oder GitKraken.

Daher noch mal ein spezieller Dank an WarLorD_XaN

Thema: mycsharp.de ist nun auf Azure umgezogen
Am im Forum: Ankündigungen

Bravo! Super Arbeit. Man könnte meinen ihr habt ein paar erfahrene Berater in euren Reihen, die erfolgreich eine Legacy App ins Jahr 2019 portiert haben ;-)

Thema: VS Solution-Verwaltung: CI / CD best practices für GIT
Am im Forum: Rund um die Programmierung

Kennen tun sich die Services nicht. Aber für den Entwicklungs-Workflow finde ich es super smart, wenn ich beispielsweise das Frontend, die API und nen Worker-Service zusammen starten kann. Dann lade ich im Frontend eine Datei hoch, die API verarbeitet diese und legt eine Nachricht auf den Service Bus, worauf hin sich der Worker Service die Nachricht greift und ich bin überall in der Lage in diesen Workflow zu debuggen.

Daher stimme ich dir zu, ich will dahin jeden Servcie separat in einem eigenen Repo abzulegen, aber gleichzeitig diesen Entwicklungs-Workflow beibehalten. Wie würdest du sowas konkret lösen?

Thema: VS Solution-Verwaltung: CI / CD best practices für GIT
Am im Forum: Rund um die Programmierung

Danke für den Hinweis. Kann Visual Studio damit denn umgehen und funktioniert die Git Integration dann noch wie gewohnt? Also, dass Visual Studio die commits in die entsprechenden submodule absetzt, wenn ich die Haupt-Solution auf habe?

Thema: VS Solution-Verwaltung: CI / CD best practices für GIT
Am im Forum: Rund um die Programmierung

Folgendes vereinfachtes Szenario: Ich habe mehrere Services in meiner Visual Solution. Dies gibt mir den großen Vorteil mehrere oder alle Services gleichzeitig zu starten und auch zu debuggen.

Nun möchte ich gerne eine CI / CD Pipeline basierend auf GitLab aufbauen, die bei jedem Checkin neue Docker-Images meiner Services baut. Nachteil hier ist, dass mir nun alle Services neu erstellt werden, wobei ich vielleicht nur einen von zehn verändert habe, da sie alle in einer Solution liegen.

Daher meine Frage: Gibt es Ansätze beide Vorteile zu verbinden? Alle Services in einer Solution fürs debugging und gleichzeitig eine CI / CD Pipeline, die nur die geänderten Services erstellt?

Thema: Kann ich meine eigene ASP.NET WebAPI in Wix oder Wordpress einbinden?
Am im Forum: Smalltalk

Zitat von Mary81
Oder soll ich die Webseite direkt ohne Wordpress und co. bereitstellen

Ganz genau so macht man das.

Bzgl. Authentifizierungsmöglichkeit: ASP.NET Identity

Thema: Gibt es Beispiele zum Vorgehen bei hybrider Authentifizierung via IdentityServer4?
Am im Forum: Web-Technologien

Ich bin mir nicht ganz sicher, ob es das ist was du suchst: aber im Grunde ist es doch nichts anderes als das was in der OWIN Pipeline von ASP.NET stattfindet. Du fügst dort die unterschiedlichen Authentication Provider hinzu, wie Google, Facebook oder eben ein AD. So wie in diesem Beispiel: Link

Thema: Grafische Auswertungen im KPI Stil erstellen
Am im Forum: Web-Technologien

Im Frontend könntet ihr dann zur Darstellung chartJS verwenden. Dabei spielt es dann keine Rolle, ob das Ganze in einem größeren JS Framework wie Angular läuft oder einer einfachen HTML + Javascript Anwendung.

Thema: Token-Authentifizierung ohne IdentityServer skalieren
Am im Forum: Web-Technologien

Zitat
Woher wissen die einzelnen API´s, das dass Token gültig ist? Ich nehme an, der IdentityServer muss nicht bei jedem Request gefragt werden.

Doch. Genau das muss geschehen.

Wenn ihr nicht zwingend das Ganze als Self-Hosting betreiben müsst, dann wäre es durchaus eine Überlegung wert mal die Dienste von https://auth0.com/ anzuschauen. Damit schützt du deine APIs / Services mit sehr geringen Aufwand. Einfach mal ein paar Tutorials dazu anschauen. Es ist wirklich einfach einzurichten.

Thema: Bitcoin zum Scheitern verurteilt?
Am im Forum: Smalltalk

Zitat von Abt
Blockchain als Basis ist nicht mehr wegzudenken; egal ob nun bei Währungen der Zukunft oder bei technischen Umsetzungen wie börsenloser Energiehandel.

Ganz genau. Ethereum im Bereich der Smart Contracts oder BitShares im Bereich des Börsenhandels haben das Potential ganze Industriezweige grundlegend zu revolutionieren. Und jeder kann nach wie vor daran teilhaben und aktuell noch sehr günstig investieren.
Zitat von Abt
Die Frage bei Crypto Currency ist eher, ob es Bitcoin sein wird oder nicht.

Ich persönlich glaube, dass Bitcoin - aufgrund der auch hier diskutierten Schwächen - es nicht werden wird. Da sehe ich eher Coins wie Monero technisch im Vorteil. Allerdings bin ich überzeugt davon, dass sich Crypto Currencies mittel- bis langfristig durchsetzen werden. Was das für einen Impact hätte, kann man sich nur schwer vorstellen. Ein Kapitalismus der keine Banken mehr braucht...

Thema: Bitcoin zum Scheitern verurteilt?
Am im Forum: Smalltalk

Erstaunlich. Auch über 3 Jahre später erfreut sich Bitcoin größter Beliebtheit. Trotz der hinlänglich bekannten Schwächen. Auch wenn es heißt, dass diese zeitnah angegangen werden sollen. Es scheint ganz so, dass sich Bitcoin aufgrund dessen, dass diese Währung als erste am Markt war, nach wie vor einen großen Wettbewerbsvorteil erarbeitet hat. Auch wenn es mittlerweile technisch deutlich bessere Alternativen zu Bitcoins gibt. Ich bin sehr gespannt, wie sich das alles weiter entwickeln wird und wie lange sich Bitcoin halten kann.

Nichtsdestotrotz ist die Blockchain Technologie einer der größten Boom Märkte des IT Sektors und ich denke wir stehen hier noch ganz am Anfang. Wer sich hier frühzeitig mit beschäftigt und klug investiert, kann mittel- bis langfristig sehr viel Geld verdienen.

Thema: [erledigt] Höhe in Pixel von DIV Element abfragen wo Höhe auf "Auto" festgelegt ist
Am im Forum: Web-Technologien

HTML und CSS haben tatsächlich wenig mit dem Windows Forms Layout zu tun. Ich kann dir auch CSS Flexbox ans Herz legen. Einen guten Einstieg findest du hier:

Channel 9 Flexbox

Ansonsten lohnt es sich auch sehr mal einen Udemy Kurs zu Bootstrap zu kaufen und den mal in Ruhe durchzuarbeiten. Danach sollte dir das Ganze Thema deutlich leichter fallen.

Thema: Custom Cursor für komplettes Programm statt nur für die Form setzen
Am im Forum: GUI: Windows-Forms

Bau dir doch deine eigene Custom Form, wo solche Einstellungen getätigt werden und lasse alle anderen Forms in deinem Programm von diesem erben.

Thema: [gelöst] Web Api Paging -> Query Option inlinecount
Am im Forum: Web-Technologien

Ja, ab V4 meine ich. V3 arbeitet noch mit inlinecount.

Thema: [gelöst] Web Api Paging -> Query Option inlinecount
Am im Forum: Web-Technologien

Zitat von Abt
OData ist nicht einfach eine Json API, sondern ein Hypermedia-Protokoll.

Das ist mir durchaus bewusst. Dennoch finde ich den Ansatz von MS eigentlich sehr smart mit einem einfachen ApiController gewisse OData Funktionalitäten zu bekommen, ohne extra einen vollwertigen OData Endpunkt aufsetzen zu müssen. Schade nur, dass eine so wichtige Funktionalität wie der inlinecount nicht unterstützt wird. Wäre ja eigentlich ein leichtes gewesen die Untersützung auch für diese einfache Json Api mitzuliefern. Aber gut, mit etwas eigenem Aufwand ist es ja auch zu lösen.

Thema: [gelöst] Web Api Paging -> Query Option inlinecount
Am im Forum: Web-Technologien

Zitat von Abt
quasi alle Resourcen-Systeme in Azure verwenden OData

Genau das ist der springende Punkt. Sobald man einen ApiController und keinen ODataController verwendet, hat man nicht mehr die Möglichkeit per Query Option die Gesamtgröße der Datenmenge mitzubekommen.

Hier für die Nachwelt noch mal meine Lösung, da ich sie etwas von dem Beispiel abwandeln musste:

public async Task<IHttpActionResult> GetData<MyData> options /* ggf. weitere Parameter*/)
{
       var result = // Daten abrufen von UnitOfWork, DbContext, etc.

       int count = result.Count;

       IQueryable results = options.ApplyTo(result.AsQueryable());

       return Ok(new PageResult<MyData>(results as IEnumerable<MyData>, new Uri("next-page-uri"), count));
}

Thema: [gelöst] Web Api Paging -> Query Option inlinecount
Am im Forum: Web-Technologien

Okay, mit diesem Beispiel hat es nun doch geklappt. Unter Punkt "Server-Driven Paging" zweiter Absatz für non-OData formats.

Thema: [gelöst] Web Api Paging -> Query Option inlinecount
Am im Forum: Web-Technologien

Hallo zusammen,

ich versuche seit einiger Zeit vergeblich ein vernünftiges Paging mit der Web Api zum laufen zu bekommen. Folgendes Szenario:

Ich habe ein Website die per Ajax Call Datensätze von einer Web Api abruft. Dabei kommt mir sehr zu gute, dass ich die Query Optionen die man auch unter OData hat nutzen kann. Also beispielsweise $orderby, $skip und $top. Allerdings sehr großes Manko an dieser Sache ist, dass die überaus wichtige Option $inlinecount=allpages anscheinend nicht richtig unterstützt wird.

Daher kann ich auf der Website kein vernünftiges Paging umsetzen, wenn ich nicht weiß wie groß die Gesamtdatenmenge ist. Ich hab einige Blogartikel zu dem Thema gefunden, wo die Leute auf eine selbstgebastelte Lösung gesetzt haben. Finde ich aber sehr unschön, da ich in den meisten Fällen so die Möglichkeit verliere die Query Optionen zu verwenden. Und extra für sowas einen OData Endpunkt aufsetzen zu müssen, würde ich sehr gerne vermeiden wollen.

Daher meine Frage: Hat schon mal jemand erfolgreich einen Paging Ansatz umgesetzt? Muss ja irgendwie möglich sein. Wie sollen sonst die ganzen modernen Single-Page Webanwendungen sonst einen Web Api erfolgreich konsumieren?

Thema: Keine Verbindung bei WebRequest an Hermes Versand API
Am im Forum: Web-Technologien

Und was steht denn in der Inner Exception?

Thema: Teilzeit/geringfügige Beschäftung im IT-Bereich
Am im Forum: Smalltalk

Wieso nicht einfach mal auf ausgeschriebene Stellen bewerben (bzw. vorstellen lassen durch Personalvermittler) und konkret nach einem Teilzeit-Modell fragen?

Thema: Feedback zu Ideen für ASP.NET Core Open Source Project
Am im Forum: Smalltalk

Ich stehe aktuell auch vor dem Problem eine Menge CRUD Backend-Websites implementieren zu müssen. Ich habe deine Idee dazu noch nicht zu 100% verstanden, wie es gelingen soll hierfür ein möglichst einheitliches wiederverwendbares System zu schaffen. Kannst du das ein wenig näher erläutern? Und hast du in der Zwischenzeit hier schon an ersten Versionen gearbeitet?

Thema: Riesige Zahl von Dateien im Explorer anzeigen / browsen und löschen
Am im Forum: Smalltalk

Hat über ein batch skript geklappt. Danke!

Thema: Riesige Zahl von Dateien im Explorer anzeigen / browsen und löschen
Am im Forum: Smalltalk

Hallo,

ich habe durch eine fehlgeschlagene Replikation eines MySQL Servers, auf Dateiebene wo die Datenbanken abgelegt sind, etwa 750.000 Dateien. Dies führt dazu, dass sich der MySQL nicht neustarten lässt, da er alle Dateien scannen will.

Gleichzeitig ist es mir unmöglich mit dem Windows Browser den Ordner zu betreten und in dem Zuge dann die Dateien zu löschen. Hat jemand ne Idee wie das möglich wäre?

Thema: ASP.NET - Daten werden nicht in der ComboBox angezeigt
Am im Forum: Web-Technologien

Klär mich bitte auf. Was ist <select> dann? Bzw. wo ist der Unterschied?

Thema: ASP.NET - Daten werden nicht in der ComboBox angezeigt
Am im Forum: Web-Technologien

Zitat von 8Uhr20
Aber ich meine aus Euren Zeilen zu lesen, dass man sich Richtung asp.net core bewegen sollte.

Das nicht zwangsläufig. Aber zumindest ASP.NET MVC dort arbeitest du dann mit ganz normalen HTML-Select's HTML Select

Thema: Der Zugriff ist aufgrund der Sicherheitsebene nicht möglich
Am im Forum: Grundlagen von C#

Hattest du denn Th69 Vorschlag mal ausprobiert? Und einen Rebuild gemacht? Also dafür gesorgt, dass die Solution einmal komplett gecleaned wurde?

Thema: Neue Themen nicht automatisch als gelesen markieren
Am im Forum: Wünsche und Kritik

Zitat von inflames2k
Einen perfekten Mittelweg wird man hier nicht finden.

Doch. In dem man es für den User einstellbar macht ;-)