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 da_user
Thema: Existiert ein Programm mit dem man Dialoge im Comic-Style erstellen kann?
Am im Forum: Smalltalk

Unter Umständen eine ganz bescheuerte Antwort, aber evtl. auch passend:

MS Word/Office kann Legendengrafiken. Und m.w. sind da auch welche im "Comic-Sprechblasen-Style". Was fehlt sind Gedankenblasen.
Ist halt kein Grafikprogramm...

Thema: Ersten freien Laufwerksbuchstaben raussuchen
Am im Forum: Grundlagen von C#

Zitat
leider weiß ich nicht wie ich auf freeDriveLetters zugreifen kann.
z.B. ConsoleWriteLine(freeDriveLetter[0]; funktioniert nicht

Sobald ich das return freeDriveLetter entferne geht es

Gar nicht. Das ist eine Variable die nur in der Methode gültig ist. Der Aufruf von "GetFreeDriveLetters()" liefert dir eine String-Liste mit den freien Laufwerksbuchstaben zurück:

 ConsoleWriteLine(GetFreeDriveLetters()[0]);

Oder, u.U. besser verständlich:

List<string> FreieLaufwerksbuchstaben = GetFreeDriveLetters()

Rückgabewert einer Methode ist allerdings Grundlagenwissen.
Ums simpel zu erklären: wenn du eine 'Methode' programmierst, schreibst du "quasi" einen Befehl wie es z.B. "System.IO.DriveInfo.GetDrives()" einer ist.

Thema: Application.StartupPath - letzter Ordner fehlt
Am im Forum: Grundlagen von C#

Naja, ich bleib jetzt erstmal bei "Path.GetDirectoryName (Assembly.GetExecutingAssembly ().Location);", mal sehen...

BTW, wenn der Thread ja praktisch schon veraltet ist:
Gibt es da heutzutage bessere/andere Varianten?

Thema: Application.StartupPath - letzter Ordner fehlt
Am im Forum: Grundlagen von C#

Ja, aber auch dass die anderen Methoden ebenfalls ihre Probleme haben. So die eine "beste" Lösung lese ich da ehrlich gesagt nicht heraus.

Höchstens noch "Path.GetDirectoryName (Assembly.GetExecutingAssembly ().Location);"
Der scheint auch soweit auch zu funktionieren, aber funktioniert der immer wenn die Voraussetzung gegeben ist, dass der Befehl in der exe steckt? Kann ich mich darauf verlassen?

Application.StartupPath habe ich bis dato auch schon öfter verwendet und jetzt ist es das erste Mal, dass dieses Problem auftritt und gefühlt mache ich eigentlich auch nix anders als sonst. Und ich arbeite auch nicht an einem Dienst, sondern an einer ganz normalen Windows.Form-Anwendung.

Thema: Application.StartupPath - letzter Ordner fehlt
Am im Forum: Grundlagen von C#

Hi,
ich suche einen Weg das Verzeichnis in dem sich meine .exe befindet zu ermitteln. Ich bin ja dort schon fündig geworden mit

Application.StartupPath

Allerdings habe ich damit ein Problem: der letzte Ordner fehlt!
Die .exe befindet sich im Debug-Modus also beispielsweise in
*Benutzer*\Documents\Visual Studio 2017\Projects\*Projektname*\*Projektname*\bin\x64\Debug
Dann liefert mir aber Application.StartupPath den Ordner
*Benutzer*\Documents\Visual Studio 2017\Projects\*Projektname*\*Projektname*\bin\x64\

Gibt es dafür eine Lösung, oder mache ich da irgendwas falsch?

VG
Matthias

Thema: Dialog-Fenster soll erst schliessen, wenn Eingabewerte OK sind
Am im Forum: GUI: Windows-Forms

Zitat von CrocodileDundee
Hallo zusammen,
Zum Beispiel wollte ich den DialogResult des OK-Buttons erst auf "OK" ändern, wenn die Bedingung erfüllt ist, dies bewirkt aber, daß ich den Button 2x anklicken muß, um das Fenster zu schließen.


void ButtonOK_Click(...)
{
   if (IsInputOK())
   {
      DialogResult = OK
   }
   else
   {
        //Zeige Fehler irgendwie an
   }
}
?

Thema: Ext. Konsolenprogramm starten und nicht schließen lassen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,
passt, geklärt. das "WorkingDirectory" hat nicht gestimmt.
Aufruf sieht jetzt so aus:

            ApacheServer = new Process();
            ApacheServer.StartInfo.FileName = Path.Combine(WorkingDir, "server", "mapache.exe");
            ApacheServer.StartInfo.EnvironmentVariables["DOKUWIKI_ROOT"] = WorkingDir;
            ApacheServer.StartInfo.WorkingDirectory = Path.Combine(WorkingDir, "server");
            ApacheServer.StartInfo.CreateNoWindow = true;
            ApacheServer.StartInfo.UseShellExecute = false;
            ApacheServer.StartInfo.RedirectStandardOutput = true;
            ApacheServer.StartInfo.RedirectStandardError = true;

            ApacheServer.Start();

            string stdOut = ApacheServer.StandardOutput.ReadToEnd();
            string erOut = ApacheServer.StandardError.ReadToEnd();

Die Umleitung des ErrorStreams werde ich wohl drinnenlassen, kann man sicherlich gut gebrauchen, um einen Fehler zu werfen ;-)

Danke!

Thema: Ext. Konsolenprogramm starten und nicht schließen lassen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von glandorf
die Ausgabe der Kommandozeile kann man in eine Textdatei umleiten. Vielleicht funktioniert das ja auch bei deinem Aufruf.

Guter Tipp! Umleiten der Standardausgabe hat nicht gereicht, aber die der Errorausgabe:

            Process ApacheServer = new Process();
            ApacheServer.StartInfo.FileName = ApachePath;
            ApacheServer.StartInfo.UseShellExecute = false;
            ApacheServer.StartInfo.RedirectStandardOutput = true;
            ApacheServer.StartInfo.RedirectStandardError = true;

            ApacheServer.Start();

            string stdOut = ApacheServer.StandardOutput.ReadToEnd();
            string erOut = ApacheServer.StandardError.ReadToEnd();

Dann erhalte ich diese Fehlermeldung:
Fehler
mapache.exe: Syntax error on line 13 of Z:/server/conf/httpd.conf: Cannot load php/ssleay32.dll into server: Das angegebene Modul wurde nicht gefunden.

Ich habe im Moment zwar noch keine Ahnung, was ich mit dieser Fehlermeldung anfangen soll, das dürfte google jetzt dann aber hoffentlich richten ;-)
Zitat
Wenn es sich hier "nur" um das Bereitstellen eines Dokuwikis handelt, dann muss man keinen kompletten Apache nutzen.
PHP hat seit der Version 5.4 einen eingebauten Webserver ( http://php.net/manual/de/features.commandline.webserver.php) welcher zumidnest zum Bereitstellen eines Dokuwikis taugt.

Danke für den Hinweis. Ich brauche halt einen Server, der nicht nur vom USB-Stick sauber startet, sondern auch aus einem Netzwerkverzeichnis, oder alternativ Netzlaufwerk. (@"\\Server\Wiki\php.exe -S 0.0.0.0:3002 -t \\Server\Wiki\www").
Könntest du das evtl. probieren?

Zitat
Hinweis: der Webserver in PHP ist explizit nur für die Entwicklung gedacht; nicht zum hosten einer Anwendung.
Meist bezieht sich das ja zum Glück auf fehlende Sicherheit. Da der Server nur lokal verfügbar sein soll, kann ich das zum Glück eher missachten.
Zitat
@da_user wie in den anderen Threads schon angemerkt: meinst Du nicht, dass Du Dich nicht mittlerweile enorm verrannt hast?
Du stolperst hier von einem in das andere Problem, weil Du einer Lösung nachläufst, die quasi einer extrem instabile, aufwändige Bastellösung gleicht.

Hättest Du evtl. ein paar Stunden in ein Konzept gesteckt, hättest Du Dir viel Zeit und Ärger sparen und dabei Dein Wiki sauber hosten können ;-)

Wenn ich den in meinem Netzwerk betreiben wollen würde, hätte ich das Wiki schon längst sauber gehostet. Ist es halt leider nicht.
Und wenn ich gleich zum basteln angefangen hätte, hätte ich jetzt noch jede Menge Zeit und Nerven übrig.
Das läuft sowieso eher so nebenbei. Prinzipiell läuft das ganze ja schon mit der Batchfile-Lösung so dass man damit gut arbeiten kann. Hat mich bis dato weder viele Stunde noch großartig Nerven gekostet. Und sollte ich doch mal einen ordentlichen Serverplatz bekommen, kann ich ja zum Glück bequem umziehen ;-)

Thema: Ext. Konsolenprogramm starten und nicht schließen lassen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

"eigentlich" relativ einfach.
Es gibt das DokuWiki welches es auch in einer "on a Stick" Variante gibt, mit einem minimalen Apache-Server der vom Prinzip wie eine Portable-App läuft. Problematisch ist, dass der nur von einem echten lokalen Verzeichnis läuft, ich das DokuWiki aber in einem Netzwerkverzeichnis ablegen möchte.
Ich habe mir jetzt die mitgelieferte Batch soweit angepasst, dass ich "nur" noch den Apache in ein lokales Verzeichnis kopieren muss, die Batch mapt mir dann das Netzwerkverzeichnis auf ein Netzlaufwerk und hinterlegt den Pfad dazu in einer Umgebungsvariable unter HKEY_CurrentUser (oder so ähnl.). Diese Umgebungsvariable habe ich in der ConfigDatei des Apache als "DocumentRoot" hinterlegt.
Mit der Batch funktioniert das ganze schonmal ganz gut und auch ziemlich stabil. Proof-of-Concept steht somit eigentlich soweit. Problematisch ist halt, dass das ganze noch nicht so komfortabel ist, wie ich es gerne hätte und es noch das eine oder andere Feature gäbe, dass ich da noch rein bringen würde. So ist z.B. zum sauberen beenden immer eine Benutzeraktion notwendig. Fenster der Batch-File schließen reicht nicht, macht man aber intuitiv.
Das geht halt mit einem "ordentlichen" Programm schöner, besser und übersichtlicher.
Ich würde auch nicht davon ausgehen, dass der Nutzer die Rechte hat, einen Dienst zu erstellen/starten.

Was mir hierbei kommt:
Die Umgebungsvariable setze ich mit der Option "EnvironmentVariableTarget.User", also nur für den Benutzer, da ich nicht davon ausgehe, Umgebungsvariablen für die komplette Maschine setzen zu dürfen. Process.Start startet aber m.W. Anwendungen mit anderen Rechten als die meinige Anwendung. Kann es da sein, dass der Apache-Server den ich über mein Programm starte, gar nix von der Umgebungsvariable wissen kann?
Auskunft dazu würde mir halt die Ausgabe geben, aber an die muss ich erstmal rankommen...

VG
da_user

Thema: Ext. Konsolenprogramm starten und nicht schließen lassen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
Achso da habe ich deine Anforderung wohl missverstanden.

Kein Problem ;-)

Ob mir der Exit-Code weiterhilft? Ich werde es morgen mal probieren.
Zitat
Du hast nicht wirklich klar gemacht wofür du das ganze tun möchtest.

Der Apache soll ja eigentlich schön fröhlich im Hintergrund vor sich hinlaufen. Macht er aber nicht, er zeigt ganz schnell einen guten Schwung Text an, und schließt dann wieder. Ich vermute stark, dass in dem Text drinsteht, was ihm da nicht passt, bin aber nicht schnell genug, diesen zu lesen.

Edit:
Ich bin jetzt (erst!) tatsächlich auf die Idee gekommen, den Apache mal über die CMD zu starten. Ergebnis: der Parameter "/B" ist falsch. Habe ich aus einer Batch-File und bezieht sich dort auf den "start" Befehl.
Ohne den Parameter läuft er aus der CMD, aus dem C#-Programm leider nicht. Da habe ich jetzt immer noch das Problem, dass der zu schnell schließt um die Ausgabe lesen zu können.

Thema: Ext. Konsolenprogramm starten und nicht schließen lassen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ok, eigentlich hätte ich das pl-pl im Link nicht durch de-de ersetzen müssen. ;-)

"Console.Read" ist ja prinzipiell bekannt, aber in wie weit hilft mir das jetzt weiter? Ich kenne das jetzt in einem mir ähnlichen Anwendungsfall nur dazu, um zu sorgen dass sich das Fenster MEINER Konsolenanwendung nicht schließt. Ich will aber, dass sich das Fenster einer externen durch "Process.Start" gestarteten Konsolenanwendung nicht schließt.
In die kann ich schlechte ein "Console.Read" einbauen.

Oder kann ich diese Methode irgendwie dazu benutzen, die Ausgabe dieser ext. Konsolenanwendung einzulesen und in meinem Programm zu verarbeiten?

VG
da_user

Thema: Ext. Konsolenprogramm starten und nicht schließen lassen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ich weiß nicht, ob ich das innerhalb von C# realisieren muss, oder ob ich auf einen anderen Trick zugreifen muss.
Mein Problem ist eigentlich relativ simpel, ich starte ein ext. Konsolenprogramm:

        private void RunApache()
        {
            string ApachePath = Path.Combine(WorkingDir, "server", "mapache.exe");
            System.Diagnostics.Process.Start(ApachePath, "/B");
        }

Dieses Konsolenprogramm (gut, Apache) taucht dann auch auf, spuckt mir jede Menge Text aus und schließt sich. Letzteres sollte nicht passieren, also gehe ich davon aus, dass dem Apache irgendwas nicht passt. Was? Keine Ahnung, so schnell kann ich nicht lesen!

Gibts einen Trick, wie ich verhindere dass sich das Konsolenfenster gleich wieder schließt, sobald der Apache beendet ist?

VG
da_user

Thema: Einbinden von Netzlaufwerk mit WNetAddConnection2
Am im Forum: Netzwerktechnologien

Zitat
Ein Entwickler entwickelt Dinge. Deswegen heisst er Entwickler - und dazu gehört auch, dass man Dinge ausprobiert.

Weils manchmal Dinge gibt, die beim ausprobieren funktionieren, im "produktiven" dann aber wiederrum nicht ;-)

Aber ich werde es einfach ausprobieren.

Danke fürs nochmalige Titel editieren

Thema: Einbinden von Netzlaufwerk mit WNetAddConnection2
Am im Forum: Netzwerktechnologien

Zitat
C# ist eine Sprache; kein Framework.
Daher wäre die Frage, ob es nicht in .NET eine Möglichkeit gibt.

Argh... meinte ich ja.
Zitat
.NET wiederum ist an vielen Stellen nur ein Wrapper der Win32 API.
Ergo; wenn es in .NET selbst keine Implementierung der jeweiligen Funktion gibst - sofern es dazu eine Win32 Funktion gibt, wovon ich ausgehe - kannst Du diese mit Hilfe des .NET Framework und PInvoke selbst implementieren.

Das wäre genau das, was das der Code im Link macht.
Darum wäre natürlich meine erweitere Frage, ob der Code den Thread "blockiert". Ich also danach sofort prüfen kann, ob das Netzlaufwerk verbunden oder nichtverbunden ist. Oder ob ich nach starten der Methode regelmässig prüfen muss, ob das Netzlaufwerk den jetzt schon verbunden ist?

PS:
Somit passt also die (wohl von dir) geänderte Überschrift nicht.

Thema: Einbinden von Netzlaufwerk mit WNetAddConnection2
Am im Forum: Netzwerktechnologien

Hi,

ich habe mal ein, zwei kurze Fragen zum verbinden von Netzlaufwerken mit "WNetAddConnection2", welches ich so implementeiren möchte: SO: Map network drive programmatically in C# on Windows 10. Zunächst finde ich die schonmal schöner als die klassische Methode über "net use", frage mich allerdings, ob es da nicht mittlerweile eine noch schönere, vielleicht in C# eingebaute Variante gibt?
Und dann natürlich die wichtigste Frage: blockiert die Variante von SO mein Programm, solange bis das Verbinden geglückt, bzw. fehlgeschlagen ist?
Denn nach dem Verbinden soll mein Programm natürlich was mit dem Netzlaufwerk anstellen, und entweder ich prüfe dann gleich nach der Ausführung der entsprechenden Methode, ob das Netzlaufwerk verbunden ist, was die weniger aufwendige Methode ist, oder ich muss halt alle x-ms prüfen und dann ein Event schmeißen.

Oder vielleicht hat ja jemand eine ganz andere Idee?

VG
da_user

Thema: Gibts ein Verzeichnis, das sicher lokal & beschreibbar ist und aus dem sicher ausgeführt werden darf
Am im Forum: Rund um die Programmierung

Na, dann muss ich mich da mal auf Experimente einlassen.
Danke.

Thema: Gibts ein Verzeichnis, das sicher lokal & beschreibbar ist und aus dem sicher ausgeführt werden darf
Am im Forum: Rund um die Programmierung

Zitat
Warum: Netzwerke gelten per default als unsichere Quelle.
Wenn Du nun programmatisch ein Programm von einem Netzwerklaufwerk holst und das starten willst, dann erhoffe ich von Windows erst mal ein Blocken durch dessen Sicherheitsfeatures.

Beim manuellen kopieren klappts einwandfrei, ist die Vorgehensweise von Windows hier eine andere?
Zitat
Letzten Endes wäre die saubere Lösung:
Programm wird unter Program Files (read only) installiert und Progamm-Daten in den ProgramData Ordner.

Die saubere Lösung wäre, DokuWiki ordentlich in einen Webserver zu installieren. Geht leider nicht, so dass ich nunmal Klimmzüge machen muss.

Prinzipiell handelt es sich ja um eine PortableApp, die halt nicht auf einem USB-Stick sitzt, sondern auf dem Rechner. Bis dato verwende ich dazu den "Downloads"-Ordner. Der funktioniert, ist aber halt irgendwie unschön. Irgendein Temp-Ordner oder so würde mir da besser gefallen.

Thema: Gibts ein Verzeichnis, das sicher lokal & beschreibbar ist und aus dem sicher ausgeführt werden darf
Am im Forum: Rund um die Programmierung

Ich will ein Programm welches nur lokal funktioniert, aber im Netzwerk gespeichert ist, ausführen.
Das Programm ist der MicroApache-Server.

Ich will mir dazu ein kleines C#-Progrämmchen schreiben, dass dann u.A. diesen MicroApache-Server in dieses gesuchte lokale Verzeichnis kopiert, und dann ausführt.

Letzten Endes geht es darum, DokuWiki in einem Netzwerksverzeichnis ohne Webserver im Netzwerk zu betreiben. Darum DokuWikiOnAStick. Der da mit gelieferte MicroApache-Server läuft aber nur aus einem wirklich lokalen Verzeichnis. Auch Netzlaufwerk funktioniert nicht.

An den Desktop habe ich auch schon gedacht, gefällt mir aber jetzt nicht so...
Wie siehts den mit AppData aus? Das wären ja das Konfig-Verzeichnis für den aktuellen Benutzer. Aber darf man aus denen heraus ein Programm starten?

Zitat
können wir Dir hier 98724324 Möglichkeiten anbieten
Ja bitte, ich suche mir dann die passende schon selbst raus :evil: 8)

Thema: Gibts ein Verzeichnis, das sicher lokal & beschreibbar ist und aus dem sicher ausgeführt werden darf
Am im Forum: Rund um die Programmierung

Hi,

gibt es in einer Windowsinstallation ein Verzeichnis auf das auch für Nutzer mit eingeschränkten(!) Benutzerkonten sicher(!) folgende Bedingungen zutreffen:

* lokal (kein ActiveDirectory, Netzlaufwerk od. ähnl)
* beschreibbar
* darin liegende Programme dürfen ausgeführt werden, sofern sie keine höheren Rechte benötigen

Natürlich unter der Voraussetzung, dass das Benutzerkonto nicht soweit eingeschränkt ist, dass gar keine Programme ausgeführt werden dürfen. Z.B. PortableApps vom USB-Stick funktionieren.

Thema: VS Community 2017 Offline aktivieren?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi,

ja, da mache ich mir keine Sorgen, da fallen wir nicht drunter.

Aber wahrscheinlich muss ich mir sowieso was anderes Überlegen, wenn das von Grund auf nicht Möglich ist.

Thema: VS Community 2017 Offline aktivieren?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi,

ich habe hier einen Rechner ohne Internetzugang, welcher *aus Gründen* auch keinen bekommt, auf dem die CE von VS2017 laufen soll.
Installieren ging ja mit ein paar Klimzügen. Aber ohne Internet kann ich mich nicht in meinen MS-Account einloggen um das VS zu aktivieren.

Gibt's Möglichkeiten?

VG
da_user

Thema: Designfrage: EF - DataContext über komplette DB oder einzelne Tabellen
Am im Forum: Datentechnologien

Zitat
ganz verstehe ich deine Frage nicht.

Zitat:
jede Datentabelle für sich in die Datenbank legen

Wie sonst? Od. ich verstehe eben wie gesagt die Frage nicht.

Die Frage ist eher, ob ich jede einzelne Tabelle/Objekt mit jeweils einem DataContext abbilde, oder die gesamte "Datenbank" mit einem einzelnem.

Ich mach mal schnell hingekritzelten Pseudocode, ich hoffe der veranschaulicht da Problem:


class Table1
{
    int ID;
    int Data1;
    int Data2;
}

class Table2
{
    int ID;
    int Data1;
    int Data2;
}

class TableView
{
    int ID;
    int Data1 = Table1.Data1;
    int Data2 = Table1.Data2;
    int Data3 = Table2.Data1;
    int Data4 = Table1.Data2;
}

class Database
{
    TableView tv;
    //[... weitere Tabellen & Views]
}


Mache ich jetzt:


    public class DatabaseContext : DbContext
    {
        public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options)
        { }

        public DbSet<Database>;
    }

oder:


    public class DatabaseContext : DbContext
    {
        public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options)
        { }

        public DbSet<Table1>;
        public DbSet<Table2>;
    }

und bilde "TableView" und "Database" nur im Code ab, weil in der SQL-Datenbank brauche ich die dann ja gar nicht erst.

Oder doch eher komplett:

public class DatabaseContext : DbContext
    {
        public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options)
        { }

        public DbSet<Table1>;
        public DbSet<Table2>;
        public DbSet<TableView>;
        public DbSet<Database>;
    }
Zitat
Eigentlich ist das EF in ASP.NET deplatziert.
EF hat eher in Desktop-Anwendungen einen Sinn als in Webanwendungen.

Wie greife ich den sonst aus einer ASP.NET Webanwendung auf eine SQL-Datenbank zu, wenn nicht übers EntityFramework?
Zitat
Datenbank-Objekte haben auch in einer ASP.NET Page nichts zu suchen.
[Artikel] Drei-Schichten-Architektur

In ASP.NET hat man wie mit jeder anderen Anwendungstechnologie ebenfalls ViewModels.
ASP.NET MVC - Arbeiten mit View- und SubmitModels

MVC ist umgesetzt, die Datenbank hängt im Model und natürlich nicht in der ASP.NET-Page. Der erste Absatz des verlinkten Artikels liest sich aber schonmal interessant. Den führe ich mir heute noch zu Gemüte!

Thema: Designfrage: EF - DataContext über komplette DB oder einzelne Tabellen
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MS-SQL lokal

Hi,

ich habe mich gerade etwas in ASP.NET und infolge dessen auch in das Entity Framework nach dem "Code-First" Prinzip eingearbeitet.
Ich hätte da ein Projekt anstehen, bei dem ich in der Datenbank einige Tabellen und auch Datenbankviews (=> Tabellen die selbst keine Daten enthalten, sondern Daten aus verschiedenen Tabellen darstellen) liegen müssten.
Nun, bevor ich mich da irgendwie in eine Sackgasse bewege, hätte ich da eine kurze, hoffentlich einfache Designfrage:

Sollte ich lieber jede Datentabelle für sich in die Datenbank legen, mit jeweils einem eigenen DataContext und die Views entsprechend nur in meinem C#-Code?
Oder sollte ich lieber mit meinen Klassen die komplette Datenbank in ein einzelnes Objekt abbilden und für dieses dann ein einziges DataContext anlegen?

Thema: ASP.NET in UWP/WindowsIoT/Raspberry (ARM)
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Wieder ein Klassiker.
Ich habe jetzt natürlich nur nach ASP.NET in Kombination mit UWP gegoogelt.

Dankeschön!

Thema: ASP.NET in UWP/WindowsIoT/Raspberry (ARM)
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Hi,

ich möchte auf einem RaspberryPi2/3 eine Anwendung entwickeln, die per Webinterface ansprechbar ist.
Da ich mich im Ökosystem der .NET Welt doch etwas heimischer fühle, als unter den Linux-Pendants, würde ich dazu gerne Windows IoT auf den Raspberry einsetzen.

Dazu hätte ich mich jetzt in die Thematiken ASP.NET (Zwecks dem Webinterface) und UWP (auf Windows IoT laufen wohl nur UWP-Apps auf ARM-Plattform kompiliert).

Jetzt habe ich mit Google-Recherche herausgefunden, dass ASP.NET nicht unbedingt unter Windows IoT läuft: https://social.msdn.microsoft.com/Forums/vstudio/en-US/eb9c3cb0-8ac3-4df6-9b87-7d56fe8311f1/uwpis-it-possible-to-use-aspnet-core-in-a-universal-windows-application?forum=wpdevelop

Allerdings ist dieser Beitrag von Ende 2016, was Neueres habe ich nicht gefunden. Darum würde ich gerne, bevor ich meine Zeit in's falsche versenke, hier nachfragen, ob das überhaupt läuft? Bzw. auf welche Alternativen ich setzen könnte?

VG
da_user

Thema: Bildschirmschoner erstellt - Jedoch Fehler beim Anwählen auf dem Betriebssystem
Am im Forum: Grundlagen von C#

Zitat von p!lle
Zitat von da_user
Dafür bekomme ich dann u.A. Probleme mit meinem

Parallel.Foreach

Ja, das ist logisch, weil es erst mit dem .NET-Framework 4.0 eingeführt wurde.

Ja, aber man kann über NuGet die TaskParallelLibrary nachinstallieren. Offensichtlich auch offiziell von MS. Die scheint aber trotzdem nicht ganz so einwandfrei zu funktionieren, wie die in .NET 4.0.
Zitat
bzw. die Auflistung unter "Programme und Funktionen"/"Software" des Betriebssystemes.

Da finde ich tatsächlich auch keinen Hinweis auf .NET4.6.2, nur auf .NET4.6.1. Nach kurzem googeln weiß ich jetzt auch, dass die 4.6.2 für W10 wohl erst mit dem Anniversary Update kam.
An meinem W10 werden die Upgrades erst später eingespielt, und wann welches W10-Upgrade kam, da habe ich sowieso den Überblick verloren.
Zudem stellt sich mir die Frage, warum das Programm den dann "außerhalb" lief...
Wichtig ist jetzt aber, dass es mit .NET 4 einwandfrei läuft.

Danke fürs Testen und grübeln! ;-)

Thema: Bildschirmschoner erstellt - Jedoch Fehler beim Anwählen auf dem Betriebssystem
Am im Forum: Grundlagen von C#

Dafür bekomme ich dann u.A. Probleme mit meinem

Parallel.Foreach

Ich habe jetzt auf .NET 4 umgestellt und damit scheint es zu funktionieren.

Ich stelle übrigens gerade fest, dass laut dem Info-Dialog des VisualStudios nur das .NET Framework 4.6.01586 installiert ist. 8o

Thema: Bildschirmschoner erstellt - Jedoch Fehler beim Anwählen auf dem Betriebssystem
Am im Forum: Grundlagen von C#

wäre toll ;-)

Thema: Bildschirmschoner erstellt - Jedoch Fehler beim Anwählen auf dem Betriebssystem
Am im Forum: Grundlagen von C#

Zitat von p!lle
Weiterhin ist mir aufgefallen, dass in dem Artikel folgendes steht:
Zitat
Dieses Problem lässt sich beheben, in dem man in den Projekteigenschaften (Rechtsklick auf das Projekt im Projektmappen - Explorer) unter "Anwendung" als Ausgabetyp "Windows-Anwendung" eingestellt.
Das ist bei dir nicht umgestellt.

Oh, das ist mir total entgangen 8o 8o
Umgestellt -> brachte keine Veränderung
Zitat

Also ich würde an deiner Stelle einmal das Beispielprojekt umsetzen - und gucken ob das geht. Stichwort "Minimalprojekt".

Ich habe es jetzt ehrlich gesagt mal ein bisschen anders gemacht: Am Ende des Artikels verlinkt der Autor auf einen weiteren Blogeintrag mit einen Screensaver den er erstellt hat (http://csharp-tricks.blogspot.de/2010/07/matrix-screensaver.html). Dort habe ich mir den Quellcode heruntergeladen, kompiliert (als Debug) und den selben Vorgang durchgeführt. Auch hier erhalte ich den Shim-Fehler.

Edit: noch ein Test: Auch der bereits Kompilierte Matrixscreensaver, den der Autor auch unter obigen Link anbietet, erzeugt den Shim-Fehler.

Thema: Bildschirmschoner erstellt - Jedoch Fehler beim Anwählen auf dem Betriebssystem
Am im Forum: Grundlagen von C#

Fehlen irgendwelche Infos oder war bis jetzt noch keiner hier, der den Fehler kennen würde?

Ich habe mal versucht, mein Project ein bisschen auf Vordermann zu bringen und angehängt. So kann sich evtl. jeder selbst ein Bild davon machen.