Почему он показывает мне «Этот сайт недоступен»?

#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?