Я тестирую Web Api 2 для моего следующего проекта. Написал простой тест, но когда я запускаю его в режиме отладчика, запрос не вызывает ответ, он остается ожидающим, насколько я могу видеть на вкладке сети DevTools. .NET 4.7.1, VS 2017. Я создал новый проект (MVC, API), добавил модель, затем контроллер, оставил маршрутизацию по умолчанию.
По жизни я не могу понять, что происходит не так. Это должно быть прямо вперед, я думаю.
Кроме того, VS пытается загрузить много информации о символах при запуске.
Вот код (как видите, очень простой тест):
Модель:
public class TestInfo
{
public string x { get; set; }
public string y { get; set; }
public string z { get; set; }
}
Контроллер:
public class TestInfoController : ApiController
{
readonly TestInfo testinfo = new TestInfo() { x = "x", y = "y", z = "z" };
public TestInfo GetTestInfo()
{
return testinfo;
}
}
Маршрутизация в WebApiConfig.cs:
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "Api Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Я запускаю его в отладчике в VS2017, затем просто меняю URL на localhost:xxxxx/api/testinfo
.
Ничего не происходит, загружается довольно долго и возвращает пустую страницу. Не 404 или 500. Все указатели относительно того, где искать, будут оценены.
Отредактировано: тип возврата TestInfo
Я просто запускаю его в FF, и страница просто продолжает загружаться «В ожидании веб-сайта»
РЕДАКТИРОВАТЬ 2: поэтому я опубликовал на своем локальном диске, настроил IIS и протестировал таким образом. Это сработало. Так или иначе, он просто не хочет работать в режиме отладки от VS2017, что очень неудобно.