Web API: Als Dienst oder über IIS API?

  • C# (ASP)
  • (Core) Web API

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Translating-IT.

    Web API: Als Dienst oder über IIS API?

    Hi,

    Ich habe eine Web API und derzeit haben wir sie als Dienst auf dem Server registriert.

    Nachdem aber diverse Überprüfungsregeln ständig erweitert werden und die API entsprechend sehr oft neu auf den Server geladen werden muss, was dazu führt, dass der Dienst entsprechend manuell heruntergefahren und neu gestartet werden muss, wenn alles hochgeladen ist, stellt sich mir die Frage, ob es nicht noch einfacher gehen würde, sie direkt über IIS API bereitzustellen.

    Was sind die jeweiligen Vor- und Nachteile, bzw. welche Methode ist eher zu empfehlen?

    Derzeit überlegen wir noch, ob wir die Regeln evtl. per Plug-in in die API integrieren, wodurch dann nur mehr die Regeldateien hochgeladen werden müssten, statt immer wieder den Dienst herunterfahren, Dateien hochladen, Dienst wieder hochfahren zu müssen.

    LG,
    Pascal
    :!: Leider hab ich nicht immer Zeit zum Programmieren, da es eher ein Hobby ist. Falls ich mal im Forum ne Frage stelle und länger nicht antworte, nicht böse sein: Ich bin dann entweder beruflich oder mit der Familie zu sehr eingespannt oder einfach zu müde. Das kann erfahrungsgemäß auch mal über Wochen dauern, aber ich melde mich immer und setze die Frage ggf. auf beantwortet.
    Hi. @Translating-IT

    Ich rate mal hier, dass Ihr mit IIS arbeiten müsst?

    Wenn nein, ist eine Containerisierung vielleicht die richtige Lösung.

    Linux als Host und dann die API per Docker realisieren. Es geht ja auch .NET im Container.

    Leider ist mir IIS im Zusammenspiel mit Docker nicht geläufig, daher kann ich dazu nichts beitragen. :(

    c.u Joshi aus HH

    Translating-IT schrieb:

    die API entsprechend sehr oft neu auf den Server geladen werden muss, was dazu führt, dass der Dienst entsprechend manuell heruntergefahren und neu gestartet werden muss, wenn alles hochgeladen ist, stellt sich mir die Frage, ob es nicht noch einfacher gehen würde, sie direkt über IIS API bereitzustellen.
    ich versteh die Alternative nicht.
    Bei IIS wäre das Einspielen einer neuen Service-Version einfacher?
    (Bei uns in Firma verwenden wir ein PowerShell-Script, um neue Versionen zu uppen)
    Da stellt sich mir erst Mal die Frage wovon reden wir?
    Bei einer C# API die auf Windows Funktionen oder DLL zurück greift müssen wir nicht über Linux als Host raten.

    Wie wurde und wird die API weiterentwickelt? Daraus könnte sich auch ein Workflow ableiten.

    Nur Mal als Beispiel, eine API mit Hilfe von Visum Studio kann man direkt auf einen IIS oder auch zu Azure veröffentlichen.

    Andere Sprache für die Entwicklung, andere Tools ziehen einen anderen Workflow nach sich
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.

    Joshi schrieb:

    Hi. @Translating-IT

    Ich rate mal hier, dass Ihr mit IIS arbeiten müsst?


    Hi,

    müssen ist relativ, aber sagen wir mal ja. ^^ Wir haben halt schon seit Jahren einen Windows-Server mit IIS für unseren Webauftritt in Verwendung. Das ist somit schon alles vorhanden.

    @ErfinderDesRades

    Das ist ja gerade die Frage, ob es damit evtl. einfacher geht. Mein Gedanke ist, dass wir das nur veröffentlichen müssen, z. B. über Visual Studio, und nicht jedes Mal den Dienst herunterfahren, hochladen und neufahren. Aber ich weiß ja nicht, ob das überhaupt so einfach funktioniert.

    @MrTrebron

    Je nach Modul haben wir C# bzw. VB.Net, aber es wird auf DLLs zugegriffen.
    Ich arbeite mit Visual Studio für die Weiterentwicklung der Überprüfungsregeln.

    LG,
    Pascal
    :!: Leider hab ich nicht immer Zeit zum Programmieren, da es eher ein Hobby ist. Falls ich mal im Forum ne Frage stelle und länger nicht antworte, nicht böse sein: Ich bin dann entweder beruflich oder mit der Familie zu sehr eingespannt oder einfach zu müde. Das kann erfahrungsgemäß auch mal über Wochen dauern, aber ich melde mich immer und setze die Frage ggf. auf beantwortet.
    .net Sprachen, (Windows-)DLLs, Visual Studio.
    Da scheint mir das Hosting im IIS eine passende Wahl.
    Im VS heißt das Feature "Publish". Damit kann man direkt auf einem IIS die Application updaten.
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    Vollzitat des direkten Vorposts an dieser Stelle entfernt ~VaporiZed

    Ja, das kenn ich schon für die Veröffentlichung der Web App.
    Das heißt, den Dienst abschalten und IIS API einrichten.

    Soll ich dafür den bestehenden Site unter IIS nutzen, oder ist es besser für die API einen eigenen einzurichten?
    :!: Leider hab ich nicht immer Zeit zum Programmieren, da es eher ein Hobby ist. Falls ich mal im Forum ne Frage stelle und länger nicht antworte, nicht böse sein: Ich bin dann entweder beruflich oder mit der Familie zu sehr eingespannt oder einfach zu müde. Das kann erfahrungsgemäß auch mal über Wochen dauern, aber ich melde mich immer und setze die Frage ggf. auf beantwortet.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Aus der Entfernung lässt sich schlecht sagen ob euer IIS das von der Performance her packt oder nicht.

    Die Frage ist ob beide Apps auch zur externen Veröffentlichung gedacht sind. Da wäre für mich ein Grund auf verschiedene Server zu gehen.

    Ansonsten ist die API eine neue Web App mit entsprechender Trennung der Daten und auch einem eigene AppPool
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    Die Leistung sollte passen. Zur Not kann noch aufgerüstet werden, aber derzeit sind wir noch sehr weit von den Leistungsgrenzen entfernt.

    Ja, die App ist dann später auch für die breite Öffentlichkeit gedacht.

    Ok, hab's eh mal mit nem neuen Site und App-Pool eingerichtet. Jetzt muss ich nur noch schauen, warum die Verbindung nicht zu klappen scheint. *grml*
    :!: Leider hab ich nicht immer Zeit zum Programmieren, da es eher ein Hobby ist. Falls ich mal im Forum ne Frage stelle und länger nicht antworte, nicht böse sein: Ich bin dann entweder beruflich oder mit der Familie zu sehr eingespannt oder einfach zu müde. Das kann erfahrungsgemäß auch mal über Wochen dauern, aber ich melde mich immer und setze die Frage ggf. auf beantwortet.