#c# #asp.net-core #asp.net-web-api
Вопрос:
Я не могу попасть projects
, потому что он пишет мне «Этот сайт недоступен». что я сделал не так? Я работаю на macOS
Код контроллера
[ApiController]
[Route("/api/projects")]
public class ProjectsController : Controller
{
private readonly TasksDBContext _context;
public ProjectsController(TasksDBContext context)
{
_context = context;
}
//[HttpGet("/api/projects")]
[HttpGet]
public async Task<IEnumerable<Project>> Get()
{
return await _context.Projects.Include(p => p.Tasks).ToListAsync();
}
}
Комментарии:
1. Работает ли ваше приложение и прослушивает ли оно порт 5001?
2. Да, мое приложение запущено, и оно прослушивает порт 5001
3. У вас есть конструктор, который принимает
TasksDBContext
. Как вы передаете контекст контроллеру? В моих тестах проблема заключается в конструкторе. Удаление конструктора заставляет его работать. Я бы поставил точку останова в конструкторе и вGet
методе и посмотрел, доберетесь ли вы вообще туда.4. @ShawnOrr: Я считаю, что для этого будет использоваться обычная инъекция конструктора, поэтому в данном случае это не должно быть проблемой. br
5. Отвечает ли какая-либо конечная точка в вашем приложении на localhost:5001 , или ошибка ограничена этим конкретным URL-адресом? Вы уверены, что используете https (мы не видим этого в вашем вопросе). Мне не удалось воспроизвести ошибку с помощью вашего кода. br
Ответ №1:
Вы пытаетесь получить доступ к другим правильным маршрутам, чтобы проверить, не повторится ли это снова.
Если ошибка «ERR_CONNECTION_CLOSED» сохраняется, попробуйте следующие методы:
1.Проверьте это, перезагрузив свой интернет-маршрутизатор.
2.Убедитесь, что ваше интернет-соединение работает без каких-либо перерывов, посетив другие веб-сайты.
3.Проверьте, заблокировал ли ваш интернет-провайдер веб-сайт, который выдает эту ошибку, просто получив доступ к нему через другое устройство.
4.Если у вас установлена VPN и она активна, попробуйте отключить ее.
5.На временной основе попробуйте зайти на веб-сайт после отключения приложения брандмауэра.
6.Удалите Файлы Кэша
7.Удалите и переустановите Google Chrome
Комментарии:
1. что такое интернет-провайдер для localhost?