Veröffentlicht 6. August 20205 j Ja Moin, vorab erstmal, meine Aufgabe war folgende: [Erstelle einen Webservice der ein oder x Objekte entgegennimmt und in einer SQL Datenbank speichert] ich habe einen Webservice geschrieben der das ADO.NET Entity Data Model enthält das die Daten vom SQL Server abruft. Ich hatte im Entity Data Model Wizard "EF Designer from Database" ausgewählt. Nachdem ich im Wizard den SQL Server und die Tabelle ausgewählt hatte, wurde die Model.cs generiert und der Verbindungsstring der Datenbank in der app.config angelegt. Soweit funktioniert alles. Ich kann meinen Webservice ansprechen und mehrere Objekte aus meinem Http Body in meiner Datenbank speichern. Leider kam eine neue Anforderung: [Der SQL Connection String soll während der Laufzeit aus einer Konfigurationsdatei ausgelesen werden] Ich denke ich kann den Connection String mit der SqlConnectionStringBuilder Klasse anpassen. Bisher hatte ich meine Konfigurationsdateien im selben Verzeichnis wie meine kompilierte Anwendung und konnte diese einfach mit meiner IniReaderKlasse und dem Pfad der config.ini (Directory.getCurrentDirectory() + IniName) ansteuern. Leider geht das beim Webservice nicht, da alle Directory Methoden auf den Installationsordner vom IIS verweisen, da dieser meine http Anfrage bearbeitet. Wie macht man sowas normalerweise bei einem Webservice? Bin da ein wenig Ratlos. Bearbeitet 6. August 20205 j von TheWorldDrown
6. August 20205 j Handelt es sich hier um .Net Core oder um das .NET Framework? Wenn es .NET Core ist sieh dir mal den ConfigurationManager an. https://docs.microsoft.com/de-de/dotnet/api/system.configuration.configurationmanager?view=dotnet-plat-ext-3.1 an. Denn SqlConnectionStringBuilder kannst du hernehmen. Mach ich auch, da ich den Connectionstring mit AES verschlüssel bzw. entschlüssel. Bearbeitet 6. August 20205 j von KeeperOfCoffee
6. August 20205 j Autor vor 4 Minuten schrieb KeeperOfCoffee: Handelt es sich hier um .Net Core oder um das .NET Framework? Wenn es .NET Core ist sieh dir mal den ConfigurationManager an. https://docs.microsoft.com/de-de/dotnet/api/system.configuration.configurationmanager?view=dotnet-plat-ext-3.1 an. Es handelt sich um das .NET Framework. Gibt es hier auch eine Möglichkeit?
6. August 20205 j Oh ja denn gibt es laut den Docs auch fürs normale Framework Einfach in meinem Links links oben aufs Framework wechseln. Edit: Kann sein, dass du den über NuGet bekommst https://www.nuget.org/packages/System.Configuration.ConfigurationManager/ Bearbeitet 6. August 20205 j von KeeperOfCoffee
6. August 20205 j Autor vor 5 Minuten schrieb KeeperOfCoffee: Oh ja denn gibt es laut den Docs auch fürs normale Framework Einfach in meinem Links links oben aufs Framework wechseln. Edit: Kann sein, dass du den über NuGet bekommst https://www.nuget.org/packages/System.Configuration.ConfigurationManager/ Ich hab die Reference auf die System.Configuration.dll tatsächlich schon seit ner Stunde in meinem Projekt. Verdammt ich war so nah dran 🤪
6. August 20205 j Laut deiner Beschreibung musst du auch gar nichts an der Config ändern, sondern nur den CS abrufen, oder?
6. August 20205 j Autor @KeeperOfCoffee Den Code hatte ich ganz ähnlich schon in meinem Projekt. Hat mich aber irgendwie nicht weitergebracht. ich bekomme über config.ConnectionStrings.ConnectionString["NameDesConnectionStrings"] folgenden ConnectionString aus meiner web.config zurück: In dem XML Element <connectionString> steht der String der mir durch mein ADO.NET Entity Data Model generiert wurde. Mir ist noch nicht ganz klar wie man einen Webservice auf dem Server betreibt, aber ich denke nicht das ein Kunde meinen Projektordner hat um dieses XML Element an seinen SQL Server anzupassen. Oder versteh ich hier was falsch?😅
6. August 20205 j Autor vor einer Stunde schrieb Whiz-zarD: Hat das nen Grund, warum du ein veraltete Technik verwendest? Weil ich keine Ahnung habe xD was ist denn state of the art?
6. August 20205 j Erstmal würde ich .NET Core nehmen, anstatt das .NET-Framework. Für die Kommunikation mit der Datenbank würde ich auch Entity Framework Core nehmen, anstatt direkt ADO.NET. Entity Framework Core präferiert den Code First ansatz. D.h. man schreibt zuerst den Code und daraus werden die Tabellen erzeugt. Der umgekehrte Weg ist allerdings auch möglich: https://entityframeworkcore.com/approach-database-first
7. August 20205 j Autor vor einer Stunde schrieb KeeperOfCoffee: War das .NET Framework eine Vorgabe des Chefs/Vorgesetzten? Es gab keine Vorgaben. Die User Story lautete folgendermaßen: "Webservice push programmieren" Der Projektleiter versteht nichts von Programmierung. Ich soll es einfach so machen, das es funktioniert 🤪 Bearbeitet 7. August 20205 j von TheWorldDrown
8. August 20205 j Am 7.8.2020 um 08:36 schrieb TheWorldDrown: Es gab keine Vorgaben. Die User Story lautete folgendermaßen: "Webservice push programmieren" Das ist keine User Story. Ein Story wäre zum Beispiel: "Als User möchte ich eine Push-Benachrichtigung erhalten, wenn mir eine Kontakt-Anfrage gestellt wurde um über Kontaktanfragen informiert zu werden auch wenn die App nicht geöffnet ist". Am 7.8.2020 um 08:36 schrieb TheWorldDrown: Der Projektleiter versteht nichts von Programmierung. Ich soll es einfach so machen, das es funktioniert 🤪 Hast du denn Tasks dazu? Dann stell die einfach auf "Won't do" mit dem Kommentar "Ticket nicht klar" o.ä. Dann ist der Handlungsbedarf beim Projektleiter und nicht bei dir.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.