Можно ли создать REST API службу удаленно?

E

Пользователь

от Elb , в категории: Другие , 12 дней назад

Здравствуйте! Подскажите пожалуйста можно ли создать службу REST API с ASP.NET core для простого eshop удаленно. Дело в том, что у меня сейчас только рабочий компьютер и я не могу на него что либо установить: ни VS ни что то другое. Как я могу сделать подобный проект онлайн? Пробовала через GitHub codespaces но как то не могу найти хорошей документации... Могли бы вы посоветовать как проще можно сделать подобный проект?


Спасибо!

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

7 ответов

A

Администратор

от admin , 12 дней назад

@Elb  Да, вы можете создать REST API с ASP.NET Core онлайн без установки ПО, используя облачные IDE. Вот несколько способов:

  1. GitHub Codespaces – это хороший вариант, но он требует настройки. Вам нужно создать Codespace, выбрать контейнер с .NET SDK и развернуть приложение.
  2. Visual Studio Code в браузере (VS Code Web) – позволяет работать с проектами через GitHub Codespaces или Azure.
  3. Replit – поддерживает C# и может подойти для небольших проектов.
  4. Azure App Service + Azure DevOps – если у вас есть доступ к Azure, можно создать проект прямо в облаке и работать с ним через веб-интерфейс.

Попробуйте Codespaces снова, но создайте проект на основе шаблона ASP.NET Core API с помощью команды:

1
dotnet new webapi -o MyEshopApi

Если возникнут сложности, я помогу с настройкой! 😊

E

Пользователь

от Elb , 9 дней назад


@admin Здравствуйте!

У меня возникли сложности... У меня не получается загрузить страницу... Пыталась решить проблемму теми способами, которые нашла, но не помогло.

В терминале выдает предупреждение:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
         Now listening on: http://localhost:5056
dotnet watch 🌐 Unable to launch the browser. Navigate to http://localhost:5056
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /workspaces/haikus-for-codespaces/MyEshopApi
warn: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3]
      Failed to determine the https port for redirect.

Я перепробовала несколько вариантов возможных решени но не помогло ни одно.

1.Добавила в  appsetting.json port 443

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "https_port": 443,
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"      
    }
  },
  "AllowedHosts": "*"  
}

2.В файле Program.cs пробовала закоментировать

1
//app.UseHttpsRedirection();

3.В файле launchSettings.json пробовала менять местами https c http


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
 "profiles": {
    "https": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "https://localhost:7170;http://localhost:5158",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
    "http": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "http://localhost:5158",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },

Когда я пробую запускать в терминале свой проект  dotnet watch run, у меня автоматически открывается в браузере окно с такой строкой:

https://ominous-rotary-phone-w99vxq97vfpj5-5056.app.github.dev/

Когда я пробую запускать открыть http://localhost:5056/swagger/

пишет ошибка соединения . В чем еще может быть проблема?


Спасибо!


E

Пользователь

от Elb , 8 дней назад

@admin  Я использовала VS Code Web.

A

Администратор

от admin , 8 дней назад

@Elb  Так как вы запускаете ASP.NET Core API в VS Code Web (GitHub Codespaces), проблема, скорее всего, связана с тем, что локальный localhost недоступен в браузере. GitHub Codespaces перенаправляет порты, и вам нужно использовать внешний URL.

🔹 Что делать?

1. Использовать правильный URL из терминала

Когда вы запускаете dotnet watch run, терминал уже выдает вам URL:

1
https://ominous-rotary-phone-w99vxq97vfpj5-5056.app.github.dev/

👉 Откройте именно этот URL в браузере вместо http://localhost:5056.

2. Явно указать ASPNETCORE_URLS

Остановите сервер (Ctrl + C в терминале) и попробуйте запустить снова с явным указанием адреса:

1
2
export ASPNETCORE_URLS="http://*:5056;https://*:443"
dotnet watch run

3. Проверить, открыты ли порты в Codespaces

В VS Code Web нужно вручную разрешить порты:

  1. Откройте "Ports" (вкладка "PORTS" внизу VS Code).
  2. Проверьте, что 5056 открыт.
  3. Если порта нет, добавьте его вручную.

4. Попробовать открыть API через встроенный браузер VS Code

  1. В VS Code Web откройте вкладку "PORTS".
  2. Найдите порт 5056.
  3. Нажмите на значок глобуса 🌐 – это откроет API в браузере.

5. Отключить редирект с HTTP на HTTPS

Попробуйте закомментировать app.UseHttpsRedirection(); в Program.cs, если проблема связана с редиректом:

1
// app.UseHttpsRedirection();

🔥 Вывод

  • Не используйте localhost в браузере — GitHub Codespaces генерирует внешний URL.
  • Откройте URL, который выдает терминал (https://...app.github.dev/).
  • Проверьте порты в VS Code Web.
  • Попробуйте отключить HTTPS-редирект, если он мешает.

Попробуйте эти шаги и дайте знать, помогло ли! 🚀

E

Пользователь

от Elb , 5 дней назад

@admin Спасибо вам большое. Все получилось.

E

Пользователь

от Elb , 5 дней назад

@admin А что делать,если проект не доделпн а лимит по времени закончен?

" You're at 100% of your included usage for this billing period. For more information, view your billing settings? "

Там вроде как можно доплатитьно.... Как то страшновато оставлять данные своей карты, не знаешь сколько снимут...

A

Администратор

от admin , 5 дней назад

@Elb  Если лимит в GitHub Codespaces закончился, у вас есть несколько вариантов:

1. Проверить, можно ли освободить место

Попробуйте удалить старые, ненужные Codespaces в GitHub Codespaces. Это может освободить ресурсы.

2. Использовать бесплатную альтернативу

Если ваш проект не слишком ресурсоемкий, попробуйте:

  • Replit (поддерживает .NET)
  • Glitch
  • Railway (дает бесплатные кредиты)
  • Azure Free Tier

3. Создать новый Codespace в другом аккаунте

Если у вас есть второй GitHub-аккаунт, попробуйте создать Codespace там.

4. Доплатить за дополнительное время

Если решите доплатить, проверьте:

  • Сколько стоит продление (указано в Billing Settings в GitHub).
  • Можно ли настроить лимит на платежи (чтобы не списали больше, чем нужно).

Если не хотите оставлять свою карту, можно попробовать виртуальную карту (например, Revolut, Privacy.com).

🚀 Вывод

Если не хотите платить, попробуйте альтернативы или создайте новый аккаунт. Если доплачиваете, убедитесь, что есть лимиты на платежи.