none
Redirect RRS feed

  • Frage

  • Hallo zusammen

    Ich möchte Usersrequests auf eine neue Seite umleiten. Ablauf:

    1. Der User ruft z.B.: diesen Link auf: http://localhost:10458/Suvalink/Index?linkID=1
    2. Mein Programm soll den Parameter überprüfen und mit der Datenbank vergleichen
    3. Aufgrund der gespeicherten URL (z.B. www.google.ch) zur linkID soll der User dann entsprechend umgeleitet werden

    Wie kann ich das bewerkstelligen? Ich komme anhand meiner Recherche nicht so richtig weiter.

    Gruss

    Patrick

    Montag, 19. Juni 2017 10:28

Antworten

  • Hallo Patrick,

    in dem Fall wird wohl der zurückgegebene URL falsch sein. Da fehlt das Protokokoll.

    Gib in suvalink.TargetURL also entweder

      http://www.suva.ch/...

    oder

      https://www.suva.ch/...

    oder (universeller):

      //www.suva.ch/...

    zurück.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    • Als Antwort markiert Patrick_Schm Donnerstag, 29. Juni 2017 10:07
    Donnerstag, 29. Juni 2017 09:43
    Moderator

Alle Antworten

  • Hallo Patrick,
    das kann ein einfacher Kestrel Server sein:
    https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel

    HTH

    Grüße Alexander

    Montag, 19. Juni 2017 10:41
  • Hallo Patrick,

    im einfachsten Fall leitest Du den User einfach per:

    HttpContext.Current.Response.Redirect( "<Url>" )

    weiter. Um dir aber genauer sagen zu können, ob das so funktioniert, müsstest Du uns verraten, welche Art von ASP.NET Anwendung Du hier erstellst.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Sonntag, 25. Juni 2017 11:49
    Moderator
  • Hallo

    Das funktioniert bei mir lokal aber sobald ich deploye geht es nicht nicht mehr. Es kommt Error 404

    Konfigurierte Route:

                routes.MapRoute(
                    name: "Redirect Route", // Route name
                    url: "{controller}/{action}/{id}", // URL with parameters
                    defaults: new { controller = "Suvalink", action = "GetLink", id = "Link" } // Parameter defaults
                );

    Controller Methode      

            public void GetLink(string id)
            {
                var suvalink = _unitOfWork.SuvalinkRepository.GetByLink(id);
                 HttpContext.Response.Redirect(suvalink.TargetURL);
            }

    wenn ich den Aufruf https://linktool.lexplus.ch/suvalink/getlink/SUVA_D_00128 erhalte ich als Anwort https://linktool.lexplus.ch/suvalink/getlink/www.suva.ch/SBA128d aber es sollte nur www.suva.ch/SBA128d zurückgeliefert werden.

    Es ist eine MvcApplication. Muss man evtl.  auf dem IIS Server noch was einstellen?

    Gruss Patrick


    Donnerstag, 29. Juni 2017 09:33
  • Hallo Patrick,

    in dem Fall wird wohl der zurückgegebene URL falsch sein. Da fehlt das Protokokoll.

    Gib in suvalink.TargetURL also entweder

      http://www.suva.ch/...

    oder

      https://www.suva.ch/...

    oder (universeller):

      //www.suva.ch/...

    zurück.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    • Als Antwort markiert Patrick_Schm Donnerstag, 29. Juni 2017 10:07
    Donnerstag, 29. Juni 2017 09:43
    Moderator
  • Danke vielmals. Ich prüfe nun in der Methode ob http:// oder https:// im Link vorhanden ist und sonst füge ich es noch dazu dadurch muss der Kunde nicht die ganze Datenbank anpassen
    Donnerstag, 29. Juni 2017 10:09