Wie realisiere ich in .NET einen Webserver?

  • VB.NET
  • .NET 4.5

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von shad.

    Wie realisiere ich in .NET einen Webserver?

    Hallo zusammen,

    ich möchte sozusagen eine Client/Server-Anwendung realisieren. Also der Client (eine Website mit Javascript) soll von meinem Hauptprogramm (.NET) Daten abrufen können. Ich hatte bevorzugt an einen HTTPRequest gedacht, REST-API würde ich aber genauso nehmen. Ich bin nur gerade ewas "konfusioniert" was denn da nun so "der" gängige Weg ist ?( Könnt ihr mich mal in die richtige Richtung schubsen?
    Der "gängige" Web ist eine WebAPI aufzusetzen welche auf einem Webserver läuft. Mittels Asp.Net Core ist es auchnicht mehr notwendig das es sich hierbei um einen windows Server (IIS) handeln muss. Das kann nun auch auf Linux laufen.

    Ein weiterer Weg und der vermutlich modernere das es sich hierbei um eine Microservicearchitektur handeln würde wäre das über Azure Functions zu machen. Als Datenhaltung kann hier dann Beispielsweise CosmosDb zum einsatz kommen.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hmm, ja -schon alles richtig mit Webserver und so. Aber, ich habe ja bereits meine "Serveranwendung" die die Kommunikation zwischen diversen Gerätschaften per Modbus, Euromap u.a. regelt und auch die Datenhaltung in einer SQL-Server-Db übernimmt. Ich möchte jetzt nur mal paar Daten, Zustände etc. davon auf einer Website visualisieren. Muss ich dafür wirklich noch einen zusätzlichen Webserver aufsetzen?
    Ich hab ja bereits mal mit der hier im Forum verlinkten Library von Quadsoft experimentiert. Könnte auch das sein was ich brauche - wenn da nicht ein Zugriffsproblem wäre:

    Quellcode

    1. Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://xxx.xxx.xxx.xxx:60000/. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt)

    Ich vermute, da die Lib schon etwas älter ist, dass die aktuellen Browser da einen Sicherheitsriegel vorschieben?
    Auf welcher Plattform(.NET Framework? .NET Core?) basiert deine Serveranwendung?
    Wie ist diese gehostet (Als Dienst? IIS? Anwendung? Konsole?)
    SIMDoku (Simple Dokumentenverwaltung)
    Mein Lernprojekt um die verschiedensten Facetten der .NET Entwicklung zu erkunden.
    GitHub

    VB Paradise Dark Theme
    Inoffizieller VB-Paradise Discord.

    Thisoft schrieb:

    Aber, ich habe ja bereits meine "Serveranwendung" die die Kommunikation zwischen diversen Gerätschaften per Modbus

    haste ja alles nicht geschrieben...

    Thisoft schrieb:

    Meine Serveranwendung ist ein Windows-Forms-Projekt auf .NET Framework.

    Ne, ist es nicht. Hostanwendung. Mit Server hat das nix zu tun. Bitte unscheide diese Dinge.

    du benötigst einen Webdienst. Wie ist im grunde egal. Ob dieser ein XML oder ein JSON zurückgibt auch. Wen du einen Server mit einer SQL Datenbank hast kannst du dort einen Dienst einrichten. Wie und mit welcher Technologie bleibt dir überlassen, wir können dir nur Beispiele aufzählen, und da du dich im .Net Bereich bewegst kann ich dir nur ASP.Net Core empfehlen.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Nofear23m schrieb:

    und da du dich im .Net Bereich bewegst kann ich dir nur ASP.Net Core empfehlen.

    Gut - ist ein Vorschlag. Nur tappe ich da völlig im Dunkeln, mit welchen Methoden ich das konkret machen müsste und, vor allem wie ich das mit Javascript abfrage ?( Sorry, aber in Webprogrammierung und Client/Server hab ich eben bisher noch nahezu gar nix gemacht...
    Für eine ASP.Net Core Anwendung bietet VS ein Template, also ich sag mal ohne Vorkenntnisse ist das 10 Minuten startklar.
    Gibt sooooo viele Tuts im Netz. Probiers einfach und wenn du hängst melde dich hier am besten mit dem genaueren Problem.

    Bez. abfrage z.b. so: stackoverflow.com/questions/17…nly-javascript-and-jquery

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Jup, kann mich da @Nofear23m nur anschließen, eine REST-API mit ASP.NET-Core aufzusetzen ist super einfach und bei weitem besser als jetzt noch was an deine bestehende Anwendung anzuflanschen. Das ding läuft standardmäßig als Konsole, lässt sich aber auch super einfach via IIS hosten, oder als Windows Dienst betreiben (letzteres ist sogar nur ein Nuget-Paket, und eine Zeile code mehr)
    SIMDoku (Simple Dokumentenverwaltung)
    Mein Lernprojekt um die verschiedensten Facetten der .NET Entwicklung zu erkunden.
    GitHub

    VB Paradise Dark Theme
    Inoffizieller VB-Paradise Discord.
    Na gut. Dann beschäftige ich mich mal ASP.NET. Ich wollte ja nicht noch ein zusätzliches Progrämmchen, aber andererseits - als Dienst klingt's verlockend.

    Ich meld mich wieder wenn ich nicht weiterkomme...

    Danke Euch.

    Neu

    Hat ne Weile gedauert. Hatte jetzt endlich mal etwas Zeit mich damit zu beschäftigen und versuche gerade dieses Tut docs.microsoft.com/de-de/aspne…re-3.1&tabs=visual-studio abzuarbeiten.

    Dabei scheitere ich gerade an folgendem Fehler

    Quellcode

    1. public void ConfigureServices(IServiceCollection services)
    2. {
    3. services.AddDbContext<TodoContext>(opt =>
    4. opt.UseInMemoryDatabase("TodoList"));
    5. services.AddControllers();
    6. }


    Die FEhlermeldung ist:

    Quellcode

    1. Fehler CS1061 "DbContextOptionsBuilder" enthält keine Definition für "UseInMemoryDatabase", und es konnte keine zugängliche UseInMemoryDatabase-Erweiterungsmethode gefunden werden, die ein erstes Argument vom Typ "DbContextOptionsBuilder" akzeptiert (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis).


    Dabei bin ich der Meinung mich strikt an das Tut gehalten zu haben... Der Fehler sagt ja dass ein VErweis fehlen könnte, hab's aber nochmal mit dem Tut verglichen... Könnt ihr mir ne kleine Hilfestellung geben?

    Neu

    Da hat sich Microsoft keinen Dienst getan... Anstatt Microsoft.EntityFrameworkCore.SqlServer brauchst du das Paket ​Microsoft.EntityFrameworkCore.InMemory
    SIMDoku (Simple Dokumentenverwaltung)
    Mein Lernprojekt um die verschiedensten Facetten der .NET Entwicklung zu erkunden.
    GitHub

    VB Paradise Dark Theme
    Inoffizieller VB-Paradise Discord.