В настоящее время я работаю над приложением PoC (доказательство концепции) с Blazor во внешнем интерфейсе и веб-API C # во внутреннем интерфейсе для доступа к данным.
Я получаю ERR_CONNECTION_REFUSED каждый раз, когда хочу получить доступ к api. У меня странная установка.
- Я использую gitpod для разработки (онлайн IDE, код визуальной студии онлайн)
- Все это работает на виртуальном сервере Ubuntu
- # P3 #
# P4 #
# P5 #
# P6 #
# P8 ## P7 #
# P9 #
# P10 #
Мне нужно вызвать api из Index.razor. Я вызываю API так:
protected override async Task OnInitializedAsync()
{
try
{
status = await Http.GetJsonAsync<string>("https://localhost:8394/ApiRunningController");
}
catch(Exception e)
{
requestSuccess = false;
status = "ERROR: " + e.Message;
}
}
Так выглядит конфигурация API. launchSettings.json (только раздел "api": {}):
"api": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "apirunningcontroller",
"applicationUrl": "https://localhost:8394;http://localhost:8393",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
Мои методы ConfigureServices () и Configure () в Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddCors();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
app.UseCors(c => c
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
);
}
Контроллер Api:
[ApiController]
[Route("[controller]")]
public class ApiRunningController : ControllerBase
{
// Some other code like initializing a logger in the constructor etc...
[HttpGet]
public string Get()
{
ApiModel model = new ApiModel();
return model.Status;
}
}
Это много кода. Думаю, я опубликовал важные фрагменты кода. Если я что-то забыл, не прочь оставить комментарий. Я выложу как можно скорее.
https://localhost:8394/ApiRunning
- person agua from mars   schedule 07.02.2020gp url <portnumber>
на терминале, чтобы получить внешний URL-адрес. См. gitpod.io/docs/command-line-interface/#url а> - person Sven Efftinge   schedule 07.02.2020