Here’s what I’ve tried so far:

  • Made the default “ASP.NET Core API” project (the weather forecasting one) in Visual Studio
  • Built it and copied the contents of the build folder to C:\Users\[My username]\TestService
  • Ran the TestService executable. It says “Now listening on: http://localhost:5000
  • Open my browser, enter the “http://localhost:5000” URL. I get a 404 error. This is all on the same computer.
  • Noticed that, under launchSettings.json, there were some other URLs listed, none of them localhost:5000. It gives 2 https URLs: https://localhost:7079 and http://localhost:5222. Both of these give “connection refused” errors.
  • At this point, I don’t know what else to do

Please help I don’t want to lose my job

EDIT: I was able to figure out what was going on. Solution is here. Thanks to hypercracker and everyone else who advised heart-sickle

  • hypercracker [he/him]@hexbear.net
    link
    fedilink
    English
    arrow-up
    7
    ·
    3 months ago

    I don’t know the specifics of this example project (and am honestly too lazy to replicate it on my own computer) but here is my debugging process for stuff like this:

    1. You got a 404 response, which is different from the nothing-ness response you’d get from going to like localhost:12345 or some random port. This means that a web service is actually listening on port 5000, receiving your request, and serving you a 404 page; is any logging happening on the console when you access this page?
    2. Are you supposed to access your app over a web browser (like it serves an HTML page) or is it a REST API that you would use a different tool to access (usually a browser extension or some CLI tool)?
    3. If you’re supposed to access your app over a web browser, try going to localhost:5000/index.html or something
    4. None of your https endpoints will be set up by default probably, but anyway you can’t listen over https (aka SSL aka TLS) without having some kind of a certificate, self-signed or otherwise; usually for local testing you set up a self-signed cert which when visited in the browser will take you to the “connection not secure” page since your browser doesn’t trust random certs, only those that can be chained back to a root of trust (aka big companies like microsoft or LetsEncrypt)
    • BeamBrain [he/him]@hexbear.netOP
      link
      fedilink
      English
      arrow-up
      8
      ·
      edit-2
      3 months ago
      1. You got a 404 response, which is different from the nothing-ness response you’d get from going to like localhost:12345 or some random port. This means that a web service is actually listening on port 5000, receiving your request, and serving you a 404 page; is any logging happening on the console when you access this page?
      2. Are you supposed to access your app over a web browser (like it serves an HTML page) or is it a REST API that you would use a different tool to access (usually a browser extension or some CLI tool)?
      3. If you’re supposed to access your app over a web browser, try going to localhost:5000/index.html or something

      THANK YOU! This helped me figure it out. I looked in the TestService project and found TestService.http with the following contents:

      @TestService_HostAddress = http://localhost:5222

      GET {{TestService_HostAddress}}/weatherforecast/
      Accept: application/json

      So I tried going to http://localhost:5000/weatherforecast and that opened the page.

  • GaveUp [she/her]@hexbear.net
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    3 months ago

    Can you link that default server code?

    404 means your browser was able to successfully ping your server and get a response, but there wasn’t an endpoint implemented for the one you hit

    Maybe it’s missing a GET for the default empty endpoint

    • GaveUp [she/her]@hexbear.net
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      3 months ago

      It’s a missing endpoint implementation problem

      The other comment mentioning this goes into a lot more details than mine

      • Chronicon [comrade/them]@hexbear.net
        link
        fedilink
        English
        arrow-up
        3
        ·
        3 months ago

        yeah they beat me by like a minute, didn’t see that til I refreshed. It wasn’t so much missing as he was browsing to the wrong url for the example code

        • BeamBrain [he/him]@hexbear.netOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          3 months ago

          lol I got a Master’s Degree without figuring out any of this shit. Not sure whether that says something about me or about American post-secondary education blob-no-thoughts

          • Chronicon [comrade/them]@hexbear.net
            link
            fedilink
            English
            arrow-up
            2
            ·
            3 months ago

            mostly the latter lol

            Its not all bad, but they really don’t mix the high-level theory and the practical skills very well in my limited experience. Maybe that’s intentional.