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 Diräkt
Thema: Verteilen von Ergebnisse
Am im Forum: Web-Technologien

Zitat
Ein Kumpel meinte es wäre besser das mit SignalR

Irgendwo brauchst du ein Backend um Pub/Sub (siehe erste Antwort) zu managen. SignalR kannst du im Frontend einsetzen um anhand von Notifications eines WebHook im GUI etwas anzuzeigen oder was anderes zu wurschteln :-)

Zitat
Woanders bekam ich den Vorschlag es mit SSE

Hier sind die Unterschiede erklärt.

Beste Grüsse

Thema: Verteilen von Ergebnisse
Am im Forum: Web-Technologien

Guten Tag

Eigentlich stellst du Events zur Verfügung. Die Subscriber können solche abonnieren um über "Änderungen" informiert zu werden. Dafür kannst du bspw. ein Pub/Sub Pattern verwenden.

Ein schöner Artikel mit ausführlichen Beschreibung findest du in diesem Blog.

Liebe Grüsse

Thema: Datei-Template mit Variablen ersetzen
Am im Forum: Rund um die Programmierung

Hallo Krumnix

Ich würde Dir empfehlen, dass File gar nicht zu speichern sondern bei Bedarf "on-the-fly" zu generieren.

Um auf Deine Frage einzugehen:
Da gibt es sehr viele Wege dazu, vom einfachen string.Replace() bis hin zu "data templating".

Als Idee, schau Dir mal folgendes an:
templated-serialization-of-c-sharp-objects-to-json
https://www.abhishek-tiwari.com/jsonnet-a-data-templating-language-from-google/

Thema: ClientValidatorCache - Wie verwende ich meine eigene Implementierung
Am im Forum: Web-Technologien

Ich möchte eine eigene Implementierung für ClientValidatorCache verwenden.

Problem:
-> Die Klasse besitzt kein Interface
-> Die Methode GetValidators ist nicht virtual
-> _cacheEntries ist private

Was ich versucht habe:
-> Von der Klasse erben und GetValidators "hiden" mit new GetValidators(...)

Es wird zwar meine Klasse verwendet jedoch klappt das "hiden" nicht wirklich, es wird die Basis-Methode aufgerufen.

Jemand eine Idee?


Ziel:
-> Properties von meinem Model können zur Laufzeit bspw. mit "Required" markiert werden. Serverseitig funktioniert alles (ModelBinder sind ja schön erweiterbar ...), jedoch werden die client-validatoren gecached und ClientValidatorCache ist nicht wirklich gut erweiterbar... Dies führt dazu, dass der gecachte validator benutzt wird ungeachtet der neuen ValidationMetaData.

Framework:
asp.net core 3.1

Thema: Monatszahl anhand des Namens konvertieren
Am im Forum: Grundlagen von C#

Hallo Darkblue94

Du könntest bspw. ein Enum erstellen ? l? :

None = 0,
Januar =1,
Februar =2
....

Dann könntest du den String in den Enum parsen und damit rechnen.

(MyEnum)Enum.Parse(typeof(MyEnum), stringInput);

Ich würde mir überlegen anstatt TextBoxen dann gleich DropDowns zu verwenden, dann kannst du den Value definieren. Dann könntest aber auch auf den Enum verzichten und als Value für Januar gleich 1 verwenden.

Beste Grüsse

Diräkt

Thema: Asp.Net MVC - ReSharper unterstreicht auf zweitem PC alles grün wegen Assemblyverweis
Am im Forum: Web-Technologien

Hallo Pixfreak

How to solve Intelisense Error

Beste Grüsse

Diräkt

Thema: Asp.Net MVC - ReSharper unterstreicht auf zweitem PC alles grün wegen Assemblyverweis
Am im Forum: Web-Technologien

Hallo pixfreak

Lösche mal die "SUO" Datei in Deiner Solution (hidden).

Beste Grüsse

Diräkt

Thema: ComboBox = ComboBox if Statement
Am im Forum: Grundlagen von C#

Hallo Chipsland

Ich habe mir Deine Spaghettis mal angeschaut :-)

Zitat
C#-Code:
double Waehrung1 = Convert.ToDouble(textBox1.Text);

"FormatException wurde nicht behandelt. Die Eingabezeichenfolge hat das falsche Format"

In der Hilfe steht doch alles dazu:

Convert.ToDouble(string)

=> FormatException bedeutet, der string wurde nicht als "Double" erkannt. Die hat warsch. mit CultureSettings zutun. (Culture Invariant)


Als Tipp:
=> Ich würde es eher etwa so aufbauen:
BasisKlasse Währung
Alle Währungen erben davon (jede soll eine Klasse sein) und überschreiben bspw. den WechselKurs. Dein Code würde sich dann auf etwa 2 Zeile reduzieren àlà
doubleEingabe * (comboSelectedItem as Waehrung).Kurs.

Zudem könntest du dann später sehr einfach die aktuellen Kurse einfach von EZB oder ähnlichem laden usw...

Schau Dir ggf. mal Vererbung an.

Ich hoff diese Beitrag kommt noch durch bevor der Thread wegen "Absoluten Grundlagen" geschlossen wird.

Schönes Weekend

Diräkt

Thema: AZURE CodeFirst Deploy TimeOut
Am im Forum: Datentechnologien

Hallo Abt

Danke für Deine Antwort.

Hm, es gibt ja 2 Einstellungen, einmal die vom ConnectionString für die Verbindung und dann noch das CommandTimeout. ( Führen jeweils zu einem anderen Fehler, wenn Vorgang länger dauert )

Selbst wenn ich lokal auf die AZURE DB zeige, und mein Initializer aufrufe erhalte ich den TimeOut Fehler.

m_db.Context.Database.Initialize(force);

Wenn ich vorher aber ein SQL STATEMENT absetze:
CREATE DATABASE ...

Danach den Initializer laufen lasse, klappt es ohne den Timeout fehler.
Meine DB hat etwa 10 Tabellen und vielleicht 50 Datensätze initial. Also absolut lächerlich.

Eine Idee ?

Der Fehler lautet:
Fehler
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. This failure occurred while attempting to connect to the routing destination.

( Der ConnectionString Timeout Fehler würde etwas anders lauten, weiss gerade nicht mehr... )

EDIT:
=> Vielleicht eine noch wichtige Anmerkung :-)
Das besagte Verhalten habe ich erst seit ich AZURE 2.6 und EF 6.1.3 verwende

Thema: AZURE CodeFirst Deploy TimeOut
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <Azure SQL> -> EF 6.1 -> CodeFirst

Liebe Leute

Wenn ich mein Projekt deploye auf AZURE erhalte ich immer ein TimeOut (SQL AZURE).
(Beim erstellen der DB, Seed wird erst gar nicht aufgerufen)

Nach langem Testen und Debugen ist mir dabei folgendes aufgefallen:

=> DB wird erstellt ohne Tabellen
=> TimeOut.

Wenn ich die DB aber per SQL selbst erstelle, danach den Initializer aufrufe, klappt alles.

Ich behaupte also dass die Eigenschaft CommandTimeOut für die Erstellung der Datenbank auf dem Context ignoriert wird. (Bei Azure dauert das anlegen einer DB gut mal 40-50 Sekunden, default ist 30 Sekunden TimeOut).


Kann das jemand bestätigen oder hat ähnliche Erfahrungen ?

Beste Grüsse

Diräkt

Thema: Suche PDF Library zum Thumbnails erstellen
Am im Forum: Rund um die Programmierung

Liebe Leute

Ich suche eine LIB die folgendes unterstützt:
=> PDF to IMAGE (1. Seite reicht)

Dazu gibts ein paar Voraussetzungen:
=> LoadFromStream() ist pflicht
=> Keine Abhängigkeit zu GhostScript oder ähnlichem

Genial wenn es OpenSource wäre oder zumindest nicht all zu teuer ist.

Beispiel:
.NET PDF

Diese Lib würde alle Anforderungen unterstützen, nur das LoadFromStream für die gratis Version nicht verfügbar ist und nur LoadFromFile geht :-( und 600 Dollar um ein paar PDF Thumbs zu haben ist doch nicht ganz billig :-)


Beste Grüsse und besten Dank für Tipps.

Diräkt

Thema: [erledigt] Windows API Code Pack Thumbnail
Am im Forum: Web-Technologien

Herzlichen Dank für die Tipps.

Da ShellFile das File von Windows representiert, sind Thumbs nur verfügbar wenn die entsprechenden Programme auch auf dem Server installiert sind, daher ist es für WEB sowieso das Falsche.

Besten Dank und beste Grüsse

Diräkt

Thema: Text aus einer TextBox in einem EditItemTemplate ausgeben
Am im Forum: Web-Technologien

Hallo Steven85

Zitat
Kann ich wenn ich in dem Item_Command Event bin und dort die Datenbankaktualisierung mache, eine Messagebox aufrufen die sowas beinhaltet wie "Sind sie sicher?"
Also eine MessageBox gibts nicht ;-). Dein Vorhaben ist nicht ganz trivial.

Der einfachste Weg wäre:
=> Den "Update" oder "Save" (Link,Button whatever) eine client Methode hinzufügen, z.B. confirm.

Alternativ geht auch:
=> Serverseitig kannst du ein Script registrieren. (Um bspw. im Item_Command Event dann ein Confirm anzuzeigen oder was auch immer)
( Script Manager
=> Nach dem du das confirm result hast, kannst du ein WebService aufrufen (oder PageMethod) um dann die Aktion durchzuführen.
Zitat
Die Javascript Funktion confirm('...') kenne ich, jedoch ist da das Problem das ich ja bereits in der Codebehind bin. Hoffe sowas ist möglich das ich beim klick auf nein oder abbrechen aus der Codebehind rausspringen kann.

Sowas wie (pseudo):

'.....
messageBox.Show("...");
if(messageBox.Result == "Ok")
{
   ...
}
'.....

Sowas geht nicht, wird nie gehen, und ist Winform style, hat mit Web nichts zutun.
Du arbeitest im Web mit Callbacks für solche Szenarien...

Beste Grüsse

Diräkt

Thema: Text aus einer TextBox in einem EditItemTemplate ausgeben
Am im Forum: Web-Technologien

Hallo Steven85


Um an die Controls innerhalb des ItemTemplates zu kommen musst du folgendermassen vorgehen:


TextBox edAlias= (TextBox)e.Item.FindControl("edAlias");


Beste Grüsse

Diräkt

Thema: [erledigt] Windows API Code Pack Thumbnail
Am im Forum: Web-Technologien

Liebe Leute :-)

Problematik:

Thumbs generieren funktioniert in WinForms Applikation.
Thumbs generieren funktioniert auch in WebForms, aber nicht für PDF ?! (hier erhalte ich nur das PDF Icon anstatt die erste Seite als Vorschau)


Code:


 public Bitmap GetBitmapFromFilePath(string filePath)
        {
            ShellFile sFile = ShellFile.FromFilePath(filePath);
            sFile.Thumbnail.FormatOption=ShellThumbnailFormatOption.ThumbnailOnly; ***
            return sFile.Thumbnail.MediumBitmap;
        }

*** Wenn ich dieses Property setze erhalte ich in der WebForms Applikation folgende Exception:
ohne diese Zeile erhalte ich bei Webforms das PDF Icon und bei Winforms die erste Seite als Preview.

( Class not registered (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) )
(Soll wohl soviel heissen wie; keine Vorschau vorhanden)


---
=> Ich benutze den selben Rechner für Winform und Webform Test
=> Ich benutze das selbe File für Winform und Webform Test
---


Jemand eine Idee ?

( Hier scheint jemand das gleiche Problem zu haben, leider ohne Lösung )
Stackoverflow - Windows Api Code Package Shell Thumbnail Generation



Beste Grüsse

Diräkt

Thema: .Net Service von aussen benutzen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Die Antwort von lechiffre kann ich so nicht ganz stehen lassen:

Zitat
Es wird auch immer mehr auf die HttpServices gesetzt von Microsoft und weniger auf WCF , man kann gar nicht genau sagen was mit WCF passiert in Moment.

WCF setzt man ein wenn ein Service für mehr Protokolle als nur für HTTP zur Verfügung stehen soll. Du kannst mit WCF auch REST Services bauen, ist ggf. etwas mehr Overhead dabei (meistens absolut egal). WebAPI ist einfach viel näher am HTTP Protokoll (unterstützt ja auch sonst nix) :-)


Beste Grüsse

Diräkt

Thema: .Net Service von aussen benutzen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Gogeta

Das funktioniert problemlos.

Stichwörter:
=> Web API
=> WCF

Zitat
Wie kann ich auf die Funktionen (des Services) verwenden ?

Bei WebApi:
=> GET / POST / ... (HTTP VERBS)

Bei WCF:
=> GET / POST / ... (HTTP VERBS)
=> WSDL ( => für .Net Clients, fast als wäre es eine "normale" thirth party dll)

Ich würde Dir WebApi empfehlen zu verwenden.
Zitat
Diese Funktion soll später auf einer App(iOS) angepasst werden(das Handy wird dann über VPN mit dem Netzwerk verbunden sein).

Wo genau und wie es dann läuft ist eigentlich egal, alle Scenarien sind damit abdeckbar.

Beste Grüsse

Diräkt

Thema: ASP.Net WebService auf Server hochladen
Am im Forum: Web-Technologien

Hallo Gogeta

Zitat
1) Wie kann ich die MaxReceivedMessageSize auf unendlich stellen ? Denn bei mir kommt meistens der Fehler, dass die angefoderten Daten zu groß sind :(

Leider weiss ich nicht was für eine Art Web-Service du verwendest.
(WebApi, Wcf, asmx ....)

Es lässt sich aber per config konfigurieren. Bei WCF könnte das etwa so aussehen:
<customBinding>
       <binding name="customBinding0">
         <binaryMessageEncoding />
         <!-- Start change -->
         <httpTransport maxReceivedMessageSize="2097152"
                        maxBufferSize="2097152"
                        maxBufferPoolSize="2097152"/>
         <!-- Stop change -->
       </binding>
     </customBinding>
Zitat
Ich weiß bei PHP kann ich die daraus entstandene .php Datei auf mein Server packen und ich könnte darauf zugreifen. Doch leider weiß ich nicht wie ich das bei .Net schaffe :(

Um eine "WebApplikation" oder ein "WebService" hosten zu können, braucht man ein WebServer. Bei PHP ist das bzw. der Apache. Bei .NET benutzt man dafür hauptsächlich den IIS. Die Konfiguration des IIS nun aber zu erklären würde den Rahmen hier sprengen. In Kürze sieht das etwa so aus:
=> IIS Install
=> IIS Konfig
=> Deployment (bspw. upload...)
=> Create AppPool
=> Create App


Beste Grüsse

Diräkt

Edit: Formatierung

Thema: Azure "partial" Update
Am im Forum: Web-Technologien

Hallo Abt

Das stimmt. Meine Frage bezieht sich viel mehr auf folgendes:

=> Ein Addon besteht aus einer DLL und ein paar Views

Problematik:

=> Das Addon muss auf alle Instanzen "installiert" (kopiert) werden beim Upload.


Damit dies garantiert passiert, dachte ich eben an folgenden Workflow:

Zitat
=> Package downloaden (Azure Management API)
=> Package manipulieren (files adden...)
=> Package wieder hochladen (Azure Management API)

Mit der Hoffnung es gäbe eine bessere Möglichkeit :)



Beste Grüsse

Diräkt

Thema: Azure "partial" Update
Am im Forum: Web-Technologien

Danke Abt für Deine Antwort.

Also wäre nur folgendes Möglich:
=> Package downloaden (Azure Management API)
=> Package manipulieren (files adden...)
=> Package wieder hochladen (Azure Management API)

Ich seh das momentan als einzige Lösung, die aber mehr schlecht als recht ist, wie siehst du das ?

Beste Grüsse

Diräkt

Edit:
=> Oder wie macht das ein CMS (bspw. DotNetNuke) wenn man es auf einer Webfarm betreibt und ein Plugin installiert ?!

Thema: Azure "partial" Update
Am im Forum: Web-Technologien

Liebe Leute


Weiss jemand ob folgendes realtiv einfach möglich ist:

=> Web-Role Update:
===> Hinzufügen von DLL und Files ohne ganzes Package zu builden.


Mein Ziel ist es "Addons" auf allen Instanzen installieren und bekannt machen zu können, direkt von der Applikation aus.


(Verwendet wird heute Azure Web-Roles (PaaS) (mehrere Instanzen), das deployment geschieht heute über VS)


Danke für Inputs.


Diräkt

Thema: TableLayoutPanel in Windows Forms mit Controls überfordert!
Am im Forum: GUI: Windows-Forms

Hallo JanLKuhl

Es ist bekannt das es zu Performance- Probleme bei vielen (gesamt Anzahl aller Controls auf einer Form, egal wie verschachtelt) kommt.

Du findest hier auch einige Tipps dazu im Forum (Suche nutzen), hier ein Beispiel:
Optimierungsideen


Ich persönlich würde versuchen nur zu zeichen was gerade angezeigt wird. (Virtualizing) Und wenn du kannst WPF dafür nutzen !

Zitat
Und die Form beim Resize ordentlich in die Knie geht.
Dafür könnte man folgendes verwenden:
(bspw. um die Vorschau von Resize du "deaktivieren")

panel.SuspendLayout();
panel.ResumeLayout();
Ist aber eher ein Hack.

Hier hab ich noch ein Link gefunden für Dich:
TableLayoutPanel slowly



Beste Grüsse

Diräkt

Thema: [gelöst] Aspx Page mit spezifischem usercontrol laden
Am im Forum: Web-Technologien

Hallo Dolce

Ich gehe davon aus (laut Beschreibung) das du WebForms nutzt.

Zitat
Wenn ich nun den Button im UserControl zweimal nacheinander betätige, vergisst der Browser alle Sessions, welche ich verwendet habe, und somit auch auf welchem UserControl ich mich befunden habe. Das bedeutet nun für mich, dass ich nur einmal speichern kann was usability mässig völliger Quatsch ist.

Nach einem Postback müssen die Usercontrols in der selben Reihenfolge wieder erstellt werden, du meinst wohl eher auch Viewstate anstatt Session.

Ich versteh das Problem immer noch nicht ganz richtig, aber wenn du wissen willst in welchem Control das etwas verändert wurde, kannst ja jedem eine einzigartige ID geben, beim neu erstellen die Selbe wieder verwenden, dann weisst du wo etwas geändert wurde ?!
Zitat
Um nun die editierten Information speichern zu können verwende ich einen Button mit ClickEvent (AutoPostBack=False).
Soweit funktioniert alles so wie es soll und nach dem Speichernevent wird mir das UserControl neu mit den gespeicherten Informationen geladen.

Ist das nicht ein Wiederspruch ? Wenn der Button kein Postback auslöst, handelst du es Clientseitig ? Warum wird dann etwas neu geladen?


Beste Grüsse

Diräkt

Thema: [gelöst] Aspx Page mit spezifischem usercontrol laden
Am im Forum: Web-Technologien

Hallo Dolce

Ich versteh die Frage nicht ganz:
=> Du kannst Pages aufrufen aber nicht UserControls
=> Pages können Usercontrols haben

Auf einer Page kannst du Controls auch dynamisch laden via:


Control ctrl=Page.LoadControl(string url);
myContainer.Controls.Add(ctrl);

Auch Casten ist natürlich möglich... :


Control ctrl=Page.LoadControl(string url);
var myCrazyControl = (MyCrazyControl)ctrl;
myCrazyControl.CrazyProperty = "123";
myContainer.Controls.Add(ctrl);

Sollte dies Deine Frage nicht beantworten, bitte versuch Sie etwas umzuformulieren ;)

Beste Grüsse

Diräkt

Thema: [erledigt] Asp.Net Identity PasswordSignIn
Am im Forum: Web-Technologien

........

=> AccessFailedCount wird immer gesetzt, auch wenn vorher schon 0, Update wird also immer ausgeführt...

Sehr unschön aber MS hat es so implementiert und wir können es ja überschreiben ;).


Beste Grüsse

Diräkt

Thema: [erledigt] Asp.Net Identity PasswordSignIn
Am im Forum: Web-Technologien

EF, SQL 2012

Liebe Leute


Ich teste gerade Asp.Net Identity etwas ausführlicher, dabei ist mir folgendes aufgefallen:


 var signinManager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationSignInManager>();
var result = signinManager.PasswordSignIn(user, password, remember, shouldLockout: true);

Führt zu einem Update Statement (nur per Profiler sichtbar), in dem alle Spalten von User updatet werden ?!?!

Verantwortlich dafür ist wohl folgendes das bei PasswordSignIn irgendwann aufgerufen wird:


public virtual void Update(TEntity entity)
        {
            if (entity != null)
            {
                Context.Entry(entity).State = EntityState.Modified;
            }
        }


Asp.Net Identity Source Code
(ganz unten)

(=> bemerkt weil ich ein ChangeTracker implementiert habe, der vor SaveChages() alle Modified Entities ausgibt)

Da wirklich kein Wert beim Login verändert wird, ist mir das unerklärlich und absolut unlogisch, kann mir wer auf die Sprünge helfen ?


Besten Dank und beste Grüsse

Diräkt

Thema: Einen String um die Länge eines anderen Strings verkürzen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Sharpshark

Herzlich Willkommen auf mycsharp.de

Zitat
Ist es irgendwie möglich, dass sobald ich etwas bestimmtes in textBox1 eingebe, es in textBox2 um die Länge von textBox1 "verkürzt" wird?

Ich würde mal sagen es ist so ziemlich alles möglich.

Mit TextBox1.Text.Length erhältst du die Anzahl Zeichen der TextBox1. Mit TextBox1.Text="abc" setzt du den Text einer TextBox. Und das letzte was du noch gebrauchen könntest wäre SubString

Damit kannst du Dein Vorhaben einfach umsetzen.

Beste Grüsse

Diräkt

Thema: Iphone Json Limitation
Am im Forum: Web-Technologien

Herzlichen Dank für Eure Antworten.

Die App wird leer ausgeliefert und man lädt sich den gewünschten Content nach.

@t2t
Mit Chunks scheints wirklich problemlos zu funktionieren!

@malignate
Genau das war wohl das Problem ( json serializer... )

@pinki
Danke für die Inputs, der Inhalt wird nach dem ersten Start ausgewählt

@Abt
Es wird nicht in den DOM geladen, sondern direkt in die sqlite db.

PS: das von Dir kurios bezeichnete Browser im "Eierphone" ist aktuell Leistungssärker als Chrome Mobile, obwohl beide WebKit verwenden... FYI.
Sobald der Content ein paar Bilder (als Base64) enthält, fängt es an zu spucken / crashen.... Ist das so ?

Beste Grüsse

Diräkt

Thema: Iphone Json Limitation
Am im Forum: Web-Technologien

Hallo Leute :-)

Eine App (Cordova) auf dem Phone, setzt per $.ajax() ein Request auf ein WCF Service ab (sync).
Im Simulator funktioniert alles wunderbar.

Auf dem Device stürzt die App während (oder nachdem...) syncen ab. Es werden Initial 50 MB übertragen (JSON).

Ist etwas bekannt, das es ein LIMIT gibt auf dem Ei(er)Phone?
Gibt es da irgend ein "Application Log" ?
Muss ich nun wirklich das ganze in Chunks übertragen?


Beste Grüsse und besten Dank

Diräkt

Thema: Textdateine abgleichen --suche Lösungsansatz
Am im Forum: Datentechnologien

Hallo Stirn

Am besten die neuen Daten gehen direkt in die DB ohne Umweg über File

Wenn das nicht geht, dann könntest du die Files welche du in die DB geschrieben hast löschen.

Wenn das auch nicht geht, brauchst du irgendwas einzigartiges (FILE ID, FILE GUID....), dann kannst vergleichen. ( ggf. sogar TimeStamp (sync) .. )


Beste Grüsse Diräkt