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 barzefutz
Thema: [erledigt] Benutzer mit Profilverzeichnis anlegen
Am im Forum: Rund um die Programmierung

Zitat von Piep000r
Lege ich den Ordner nun einfach manuell an, wird bei der anmeldung des Benutzers einer Ordner "username.computername" angelegt.

Hallo,

es ist nur ein Link, aber vielleicht hilft dir das weiter?

How to programmatically create User Profile [C#]?

Scheint wohl recht kompliziert zu sein, wenn man das Profil gleich miterstellen will...

Thema: Settings in Registry oder Benutzerordner speichern?
Am im Forum: Rund um die Programmierung

Hallo,

ich würde gerne mal wissen was es für Gründe gibt, die Einstellungen einer Anwendung in der Registry oder im Benutzerordner zu speichern.

Irgendwie fällt mir dabei kein einziger Grund ein, die Registry zu benutzen. Sie macht es dem Benutzer schwerer, die Einstellungen zu ändern und zu sichern, sie akzeptiert nur bestimmte Datenformate und eine bestimmte Datenstruktur (Name-Wert-Paare)... könnte mir höchstens vorstellen, dass die Registry schneller ist, aber das dürfte ja kaum ins Gewicht fallen.

Also, was von beiden sollte man benutzen? Und wann?

Thema: Liste von Parametern übergeben oder ein gekapseltes Parameter-Objekt?
Am im Forum: Rund um die Programmierung

Vielen Dank für deine Antwort. Stimmt, Enums hatte ich völlig vergessen. Ich stehe allerdings gerade etwas auf dem Schlauch. Wo ist genau der Unterschied bzw. Vorteil, ob ich jetzt

Enum SearchOptions
{
  IncludeHidden, IgnoreCase
}

oder

class SearchOptions {
  bool IncludeHidden
  bool IgnoreCase
}

nehme? Funktionieren tut doch beides, oder? Nur dass Enum halt Zahlen und die Klasse booleans benutzt.

Es ist echt krass, habe drei Jahre nicht mehr programmiert und schon wieder alles vergessen X(

Thema: Liste von Parametern übergeben oder ein gekapseltes Parameter-Objekt?
Am im Forum: Rund um die Programmierung

Mir fällt dazu gleich noch eine ähnliche Frage ein. Kreativitätsflash gerade
Nehmen wir an, ich habe eine Methode, die nach Personen anhand deren ID sucht. Da hätte ich dann auch wieder zwei Möglichkeiten bezüglich der Parameter. Entweder, ich übergebe als Suchparameter nur die ID, oder ich übergebe ein komplettes Person-Objekt, welches die ID ebenfalls beinhaltet:

SuchePerson(int id)

oder

SuchePerson(Person p)

Jetzt auch wieder die Frage, was ist besser (ordentlicher, ressourcenschonender, was auch immer)?

Thema: Methodenbenennung: GetPerson oder GetPersonById?
Am im Forum: Rund um die Programmierung

Danke herbivore, ich werde es so machen wie du sagst.

Thema: Liste von Parametern übergeben oder ein gekapseltes Parameter-Objekt?
Am im Forum: Rund um die Programmierung

Und ich nochmal

Nehmen wir an, ich habe eine Methode, die Dateien suchen soll. Diese soll eine Reihe Suchparameter entgegennehmen, beispielsweise ob Groß- und Kleinschreibung berücksichtigt werden soll, ob Unterverzeichnisse durchsucht werden sollen, ob versteckte Dateien berücksichtigt werden sollen etc. Dann habe ich zwei Möglichkeiten, diese Parameter zu übergeben. Einmal so:

Suche(bool großklein, bool unterverzeichnisse, bool hiddenfiles)

Oder ich erstelle ein spezielles Objekt, was die Suchparameter kapselt, beispiel:

class SuchOptionen
bool großklein
bool unter
bool hidden

Und übergebe dann beim Suchen eine Instanz davon:

Suche(SuchOptionen)

Was würdet ihr bevorzugen? Ein gewichtiges Argument für die zweite Methode ist natürlich, dass wenn sich die Suchparameter ändern, ich nicht überall die Parameter in den Methodendefinitionen anpassen muss. Ein Argument dagegen könnte sein, dass es vielleicht Overkill ist, zumal ich die Klasse nur ein einziges Mal brauche.

Thema: Methodenbenennung: GetPerson oder GetPersonById?
Am im Forum: Rund um die Programmierung

Wenn ihr eine Methode habt, die als Parameter als Einziges eine ID annimmt und eine Person zurückgibt, wie würdet ihr diese dann nennen: GetPerson() oder GetPersonById()?

Man könnte argumentieren, der Zusatz ById erklärt bequemerweise gleich den Parameter mit, andererseits könnte man argumentieren, dass man den Parameter auch im IntelliSense sieht und deshalb kein Zusatz nötig ist.

Thema: Warum benutzen viele große Softwareprodukte kein .NET?
Am im Forum: Smalltalk

Das finde ich sehr interessant was du schreibst. Eigentlich sollte man ja meinen, die Leute steigen von C++ auf C# und .NET um, weil es einfacher ist. Der umgekehrte Ansatz ist mit Sicherheit seltener (aber deshalb nicht schlechter). Vielleicht ist es ja gerade reizvoll, von C# auf C++ umzusteigen, weil man dann genug know-how dafür hat. Als du noch als C#-Entwickler gearbeitet hast, konntest du da schon C++ als du zu C++ umgestiegen bist? Oder hast du alles von Grund auf gelernt?

Thema: Warum benutzen viele große Softwareprodukte kein .NET?
Am im Forum: Smalltalk

Hallo,

das war eher auf meine persönliche Wahrnehmung bezogen. Für mich war .NET damals die Technologie, die besser und ausgefeilter als alles vorherige war und damit alles andere überflüssig machen sollte (bis vielleicht auf extrem performanceabhängige Sachen). Also mehr ein Ersatz, keine Alternative. Aufgrund dessen dann meine Verwunderung, warum viele etablierte Windows-Entwickler es dann noch nicht nutzen.

Thema: Debugger springt bei Exception in WPF-Anwendung nicht zum Fehler
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Danke für den Tipp. Gehe ich recht in der Annahme, dass dieses MVVM der "bevorzugte" Weg ist, WPF-Anwendungen zu entwickeln? Habe mich mal ein wenig eingelesen, das kannte ich bisher noch nicht, nur mit MVC habe ich in Verbindung mit ASP schon gearbeitet. Mir stellt sich allerdings noch die Frage, inwieweit das das Problem mit dem Debugging löst. Wird es dadurch gelöst, dass in der View praktisch keine Exceptions mehr auftreten können wegen der Codetrennung? Und ich würde gern noch wissen ob das mit dem Debugging unter WPF normal ist oder ob ich da irgendendwas falsch konfiguriert habe.

Thema: Debugger springt bei Exception in WPF-Anwendung nicht zum Fehler
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Nein, das stimmt nicht. Das XAML ist korrekt. Wenn ich in der Fehlermeldung auf Details klicke, kann ich an der InnerException auch sehen, dass der Fehler von meiner Fehlermethode kommt, also alles in Ordnung. Das Problem ist eben nur, dass er nicht in die Methode springt, sondern mir diese nichtssagende XamlParseException präsentiert, die völlig irreführend ist.

Thema: Debugger springt bei Exception in WPF-Anwendung nicht zum Fehler
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Wenn ich genau denselben Code in einer WinForms-Anwendung ausführe, funktioniert es wie gewünscht. Dort springt er direkt zu der Zeile, die den Fehler verursacht hat. Wie kann ich das in der WPF-Anwendung erreichen?

Thema: Debugger springt bei Exception in WPF-Anwendung nicht zum Fehler
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ich habe hier ein etwas seltsames Problem und bin ratlos. Ich habe eine WPF-Anwendung und in meinem Hauptfenster steht folgender Code:

    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            Class1.FehlerverursachendeMethode();
        }
    }

Wenn ich das Programm ausführe, zeigt mir VS an, dass ein Fehler aufgetreten ist. Soweit so gut, aber er springt nicht zur fehlerverursachenden Zeile in Class1, sondern sagt mir nur, dass ein Fehler in MainWindow aufgetreten ist und springt auch nicht in den Code:

Thema: Speicherort der Konfigurationsdatei eines Tools ohne Installation: %AppData% o. doch Programmverz?
Am im Forum: Rund um die Programmierung

Ja das mit dem VirtualStore wäre natürlich sehr hässlich. OK, ich sehe es ein, die Nachteile überwiegen

Aber das mit den "Überbleibseln" beim Löschen des Tools finde ich immer noch hässlich. Das kann man wohl nur mit einem Uninstaller lösen.

Thema: Speicherort der Konfigurationsdatei eines Tools ohne Installation: %AppData% o. doch Programmverz?
Am im Forum: Rund um die Programmierung

Aber das Programm wird ja nicht in den Programme-Ordner installiert. Der Speicherort ist beliebig. Der Benutzer lädt es runter und würde es z.B. nach C:\Users\Stefan\Tools\MyTool extrahieren. Was wäre dann?

Thema: Warum benutzen viele große Softwareprodukte kein .NET?
Am im Forum: Smalltalk

Zitat
- MS entwickelt nur für Windows seine CLR

Stimmt, das wird's wohl hauptsächlich sein. Eigentlich schade, aber andererseits würde MS sich ja ins eigene Fleisch schneiden, wenn sie dafür sorgen dass die Programme auch auf den anderen Systemen laufen

Thema: Speicherort der Konfigurationsdatei eines Tools ohne Installation: %AppData% o. doch Programmverz?
Am im Forum: Rund um die Programmierung

Hallo,

ich habe eine Frage. Wenn meine Anwendung Benutzereinstellungen abspeichern soll, wo sollte man diese am Besten ablegen? Der Tenor ist ja, soweit ich informiert bin, dass die Einstellungen in %AppData% gespeichert werden sollen, und ich verstehe auch warum das der bevorzugte Weg ist. Es gibt aber auch Fälle, die dagegen sprechen. Was ist zum Beispiel, wenn meine Anwendung ein kleines, nicht installierbares Tool ist und keinen Uninstaller hat? Wenn der Benutzer die Anwendung wieder löscht, ärgert er sich womöglich darüber, wenn Reste in %AppData% oder der Registry zurückbleiben. Wäre es da nicht besser, die Einstellungen im selben Ordner wie die Anwendung abzuspeichern? Wie würdet ihr vorgehen?

Thema: Warum benutzen viele große Softwareprodukte kein .NET?
Am im Forum: Smalltalk

Hallo,

ja, das klingt alles einleuchtend :)

Zur Portierbarkeit: Irgendwie ist das ja ironisch. Ich habe damals gelernt, ein Vorteil von .NET sei die (theoretische) Portierbarkeit, aber stattdessen wird dann doch lieber Standard-C++ verwendet. Liegt das an der mangelhaften Implementierung bzw. Verbreitung von .NET in anderen Betriebssystemen?

Thema: Warum benutzen viele große Softwareprodukte kein .NET?
Am im Forum: Smalltalk

Mir ist aufgefallen, dass viele große bzw. bekannte Software-Produkte nicht auf .NET aufbauen. Beispiele wären Mozilla-Produkte, Google Chrome, Acronis True Image, TrueCrypt und weitere. Woran liegt das? Haben die Hersteller Angst, dass immer noch viele Anwender keine aktuelle .NET-Laufzeitumgebung installiert haben? Oder weil .NET-Programme im Vergleich langsamer sind? Oder hat es was mit Portierbarkeit zu tun? Und meint ihr, das wird sich mit der Zeit ändern, oder wird es immer Gründe geben, die gegen .NET sprechen?

Thema: Frage bezügl. Geschwindigkeit vs. Redundanz
Am im Forum: Datentechnologien

Stimmt, du hast eigentlich völlig recht. Man sollte sich erst Gedanken um sowas machen, wenn es notwendig wird, das habe ich schonmal irgendwo anders gelesen. Ich war mir halt nicht sicher, ob man nicht jetzt schon absehen könnte ob es zu langsam wird, da ich keine Erfahrung mit der Geschwindigkeit von SQL Server Compact habe. Aber in diesem Fall wäre es ja nicht allzu aufwendig, die "Optimierung" nachträglich einzufügen :)

Edit: Es gibt sogar ein Fachwort dafür: "Denormalisierung"

Denormalisierung

War mir als Anfänger bisher nicht bekannt, vielleicht interessiert der Link ja jemanden :)

Thema: Frage bezügl. Geschwindigkeit vs. Redundanz
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MS SQL Compact Edition

Hi,

ich bräuchte mal eure Hilfe bezüglich einer konzeptionellen Frage zu meiner Datenbank. Ich habe (vereinfacht dargestellt) eine Datenbank, in der Finanztransaktionen zu bestimmten Märkten gespeichert werden. So in der Form:

Markt 1:

Transaktion 1, -1000€
Transaktion 2, +1200€

Markt 2:

Transaktion 1: +300€
Transaktion 2: -800€

Also zwei Tabellen, in der einen sind die Märkte gespeichert, in der anderen die Transaktionen, die auf diesen Märkten abgeschlossen werden. Ich möchte dann eine Abfrage erstellen, die mir eine Übersicht nach Datum ermöglicht, wieviel Gewinn bzw. Verlust an jedem Tag erzielt wurde, also so:

11.12.2011: -300€
12.12.2011: +250€

Diese Übersicht wird ziemlich oft aufgerufen und soll für 30 Tage rückwirkend einsehbar sein.

Jetzt meine Frage: Es müssen da ja ziemlich viele Daten abgerufen werden. Für jeden Tag müssten alle Märkte abgerufen werden, und dann nochmal zu jedem Markt alle Transaktionen, und dann müsste man alles zusammenrechnen. Wäre es nicht besser, zu jedem Markt als Eigenschaft den Gewinn/Verlust extra zu speichern? Man würde damit die Geschwindigkeit steigern, aber mehr Speicherplatz verbrauchen und gegen das Prinzip verstoßen, jeden Wert nur einmal zu speichern. Eigentlich ist das ja nicht erlaubt, weil es eine Redundanz darstellt, denn der Wert kann ja auch aus den ganzen Daten berechnet werden. Aber wenn man ihn extra speichern würde, wären die Abfragen natürlich weit weniger rechenintensiv, und die Datenbank soll auch auf schwachbrüstigen Systemen lauffähig sein (es wird SQL Compact Edition verwendet, also kein Datenbankserver). Wie würdet ihr das machen? Das Ganze erscheint vielleicht etwas banal, aber ich würde gerne mal ein paar andere Meinungen einholen, bevor ich das ganze in Angriff nehme.

Thema: ASP.NET Webhoster
Am im Forum: Web-Technologien

Falls jemand vorhat zu servmax zu gehen, ich kann vor diesen Anbieter nur noch abraten... auf Supportanfragen wird grundsätzlich NICHT reagiert, habe bisher drei-viermal wegen verschiedener Sachen angefragt, jedes mal kam eine Mail, dass meine Anfrage "umgehend bearbeitet" würde, danach kam nichts mehr.

Thema: Cache auf 3 Min setzen auf HttpWebRequest
Am im Forum: Web-Technologien

Ich würde eine Proxy-Klasse erstellen, die das Cachen transparent macht und abstrahiert, die könnte z.b. NavigationPageProxy heissen und eine einzige Methode enthalten, GetPage. Die Klasse hat als Cache ein statisches Feld, welches den Inhalt der Navigationsseite enthält. Wenn der Cache null ist, holst du die Seite ab, speicherst sie im Cache und gibst sie zurück. Wenn nicht, überprüfst du, ob 3 Minuten verstrichen sind. Wenn nicht, gibst du die gecachte Seite zurück, wenn ja, holst du wie am Anfang die Seite neu vom Server.

Thema: Cache auf 3 Min setzen auf HttpWebRequest
Am im Forum: Web-Technologien

Also ich würde es so machen:

- Lass den Server die Navigationsseite schicken, Zusammen mit einem Expires-Header, der 3 Minuten in der Zukunft liegt, und einem Last-Modified-Header, der angibt, wann die Navigationsseite das letzte Mal geändert wurde
- Innerhalb dieser 3 Minuten holt der Client die Navigationsseite immer aus dem Cache
- Nach den 3 Minuten fragt er erneut den Server und schickt dabei den If-Modified-Since header mit, wenn dieser ungleich dem letzten Änderungsdatum auf dem Server ist, schickst du die aktualisierte Seite, wenn er gleich ist, schickst du einen Not Modified-Header.

So würde ich es machen, wenn der Client ein richtiger Webbrowser wäre. Das Problem an der Sache wird nur sein, dass du ja das WebRequest-Objekt als Client benutzt. Leider habe ich da gar keine Erfahrung mit, wie man damit das Clientseitige Caching umsetzen kann, also den zweiten Schritt ... hm

Du könntest den Cache ja außerhalb des WebRequest-Objektes simulieren, beispielsweise mit der HttpContext.Current.Cache-Collection, und dort deine Seite für 3 Minuten zwischenspeichern. Ich weiss natürlich nicht, ob das in Asp.NET 1.1 verfügbar ist. Ansonsten vielleicht im Application State?!

Thema: Cache auf 3 Min setzen auf HttpWebRequest
Am im Forum: Web-Technologien

Ich verstehe noch nicht so ganz, was du genau erreichen willst. Einen Cache "setzen" tust du mit diesem Header ja nicht. Was meinst du denn mit "ich muss nur diesen Header Cachen"? Was willst du genau mit der Caching-Operation erreichen?

Thema: Cache auf 3 Min setzen auf HttpWebRequest
Am im Forum: Web-Technologien

Edit: Hab da was falsch verstanden ;)

Thema: Webanwendungen und NHibernate, funktioniert das überhaupt?
Am im Forum: Web-Technologien

Hallo Schue,

ich habe mir das Beispiel mit großem Interesse angeschaut. Die Burrow-Erweiterung hat ja an sich nichts mit meinem Problem zu tun, oder? Das eigentlich Interessante an dem dazugehörigen Beispiel ist das wwDataBinder-Control, das es ermöglicht, die Daten aus den Datengebundenen Steuerelementen automatisch in ein Entitätsobjekt zurückzuführen. Leider habe ich nichts dazu gefunden, ob das auch mit GridViews funktioniert??

Vielleicht hätte ich mein Problem besser konkretisieren sollen, damit klarer wird woran es hängt. Also, ich habe ein GridView, welches die Daten von NHibernate bezieht und anzeigt. Für jeden Datensatz des GridView gibt es einen Button, mit dem man eine Eigenschaft des Datensatzes zwischen True/False hin- und herschalten kann. Wenn ich jetzt den Button anklicke, kann ich zwar den Primärschlüssel des angeklickten Datensatzes herausfinden, aber in Bezug auf NHibernate hilft mir das nicht. Ich brauche ja nicht nur den Primärschlüssel, sondern das komplette Objekt, um es mit NHibernate updaten zu können. Da wäre es natürlich gut, wenn das Objekt vorher irgendwo zwischengespeichert wurde, damit ich es nicht extra nochmal aus der Datenbank holen muss.

Das mit "Session per conversation" scheint dann ja das zu sein, was ich brauche, Ich werde mich da mal einlesen. Vielen Dank schonmal!

@schaedld:

Danke, ich habe mir das Beispiel sehr genau angeschaut. Aber wenn mich nicht alles täuscht, macht der genau das, was ich vermeiden wollte. Bevor er beispielsweise einen Kunden updatet, holt er nochmal ein Kunden-Objekt aus der Datenbank, nur um es zu updaten.

Thema: Webanwendungen und NHibernate, funktioniert das überhaupt?
Am im Forum: Web-Technologien

Hallo,

danke für die schnelle Antwort. Die Überlegung hatte ich noch gar nicht. Das würde bestimmt gehen, aber es das Problem könnte sein, dass die Daten viel zu groß dafür sind. Nehmen wir mal an, man transportiert die Daten einer Hundert-Zeilen-Tabelle über die Session, das wäre ja ein ziemlich großer Overhead und daher auch keine recht befriedigende Lösung. Man müsste die Daten ja quasi duplizieren, einmal für die Anzeigeelemente (GridView etc) und einmal als Entity-Objekte für Hibernate.

Ich habe mir gerade mal ein paar Beispielanwendungen angeschaut, dort wurde auch dieser Ansatz gewählt (das Objekt wurde allerdings nicht in der Session, sondern im ViewState abgelegt... das ist ja im Prinzip Jacke wie Hose). Aber irgendwie kann ich mich damit nicht so recht anfreunden.

Thema: Webanwendungen und NHibernate, funktioniert das überhaupt?
Am im Forum: Web-Technologien

Hallo,

ich versuche momentan, meine ASP.NET Webanwendung auf NHibernate umzustellen. Es ging beispielsweise um folgende Aufgabenstellung:

- Daten aus einer Datenbank holen
- Diese Daten in einem Formular anzeigen, welches vom Benutzer editiert werden kann
- Nach dem Bearbeiten die geänderten Daten speichern

Die ersten beiden Schritte funktionieren tadellos, aber beim letzten Schritt komme ich nicht weiter. Um die Daten mit NHibernate wieder zu speichern, bräuchte ich ja das ursprüngliche Entity-Objekt aus dem ersten Schritt, damit ich dessen Eigenschaften ändern kann. Dieses Objekt ist aber nicht mehr vorhanden, weil inzwischen ein Postback stattgefunden hat. Das heisst, ich muss das Entity-Objekt extra nochmal aus der Datenbank holen, nur um es zu ändern und wieder zurückspeichern. Das ist ja quasi eine überflüssige SQL-Abfrage, die nicht sein müsste (Select und Update, in einer klassischen Anwendung wäre nur das Update vonnöten). Es gibt in Hibernate zwar auch die Möglichkeit, SQL-Abfragen in einer SQL-artigen Mittelsprache auszuführen, diese Sprache genügt jedoch leider nicht meinen Anforderungen.

Hat jemand eine Idee, wie man das am elegantesten lösen könnte?

Thema: umformen von url verhindern
Am im Forum: Web-Technologien

Nur eine kleine Anmerkung, benutz für sowas einen WebHandler (.ashx) und keine Web Page (.aspx), das verbessert die Performance