0

I'm currently testing a solution with on oneside a ASP.Net WebAPI and on the other hand a Xamarin application. Both are running on my machine for testing ...

I have an issue to have both working together on resolving the name of my machine (localhost) The Web API is working fine. On the following address : http://localhost:50783/api/values/2

But if I use:

http://127.0.0.1:50783/api/values/2

It does not work.

I'm surprise about this. Thought this was the standard IP for the localhost. My hosts file is the following

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost
Uwe Keim
  • 39,551
  • 56
  • 175
  • 291

2 Answers2

1

You can change your web-api's bindings.

In Visual Studio → right click on your Project → Properties → choose Web → change the project URL to 127.0.0.1 (leave the port as is) → click on Create Virtual Directory and save the project.

Project binding

Uwe Keim
  • 39,551
  • 56
  • 175
  • 291
Yan
  • 433
  • 2
  • 16
  • Thank you. This well force the project to start on this adress, but this does not help my problem with IIS to be solve. the 127.0.0.1 is not working while localhost yes... – Jonathan Halleux Feb 20 '19 at 20:17
  • @JonathanHalleux, Another option would be editing the `applicationhost.config` file, which by deault located at `My Documents\IISExpress\config`. Find the `sites` section and edit the your project bindings as needed (replace `localhost` to `127.0.0.1`). restart your computer afterwards and try debugging again. – Yan Feb 21 '19 at 11:28
  • change `binding` node to: `` – Yan Feb 21 '19 at 11:30
  • thank you. Tried to replace the line exactly as you propose but still the same... I restarted IIS service. But http://localhost:50783/ works, but http://127.0.0.1:50783/ still doesn't work. This makes me crazy... I tried also on two different computers and have the same issue on both... – Jonathan Halleux Feb 21 '19 at 17:54
  • @JonathanHalleux, very odd. It has some to do with IIS Express bindings. If I come up with a new idea I'll let you know. – Yan Feb 24 '19 at 08:43
0

Try uncommenting

#   127.0.0.1       localhost

in the hosts file by removing the # from the beginning of that.

Amir Molaei
  • 3,700
  • 1
  • 17
  • 20