Warum sendet meine Blazor Server-App keine HTTP-Anfragen an meine ASP.NET Core-Web-API?C#

Ein Treffpunkt für C#-Programmierer
Guest
 Warum sendet meine Blazor Server-App keine HTTP-Anfragen an meine ASP.NET Core-Web-API?

Post by Guest »

Ich habe eine Blazor Server-Web-App und eine ASP.NET Core-Web-API, die auf localhost ausgeführt wird. Ich versuche, HTTP-Anfragen von der Web-App an die API zu senden, kann aber keine Anfragen auf der Registerkarte „Netzwerk“ des Browsers oder Antworten von der API sehen. Trotz der Konfiguration von CORS und der Einstellung der richtigen HttpClient.BaseAddress scheinen die Anfragen die API nicht zu erreichen.
Ich habe versucht:
1 . Cors-Konfiguration in WebAPI:

Code: Select all

builder.Services.AddCors(options =>
{
options.AddDefaultPolicy(policy =>
{
policy.WithOrigins("http://localhost:5235")
.AllowAnyHeader()
.AllowAnyMethod();
});
});
app.UseCors();
2. HttpClient-Konfiguration in WebApp:

Code: Select all

builder.Services.AddScoped(sp => new HttpClient
{
BaseAddress = new Uri("http://localhost:5213/")
});
3. Testen Sie den Endpunkt mithilfe der Razor-Seite:

Code: Select all

@page "/test-api-connectivity"
@inject HttpClient HttpClient

Test API Connectivity
Test Connection
@responseMessage

@code {
private string responseMessage = string.Empty;

private async Task FetchData()
{
try
{
var response = await HttpClient.GetAsync("api/locations");
responseMessage = response.IsSuccessStatusCode
? "Connection successful!"
: $"Connection failed: {response.StatusCode}";
}
catch (Exception ex)
{
responseMessage = $"Error: {ex.Message}";
}
}
}
Testen mit Swagger und Postman:
  • Die API funktioniert gut mit Postman und Swagger.
  • Der Endpunkt /api/locations gibt in Postman 17.820 Zeilen zurück, sodass die API funktionsfähig ist.
Browser-Debugging:< /h3>
  • Ich sehe keine ausgehenden Anfragen auf der Registerkarte „Netzwerk“ des Browsers, wenn ich auf die Schaltfläche „Verbindung testen“ klicke.
  • In der Browserkonsole werden keine Fehler angezeigt.
Wenn Sie auf der Testseite auf die Schaltfläche klicken (

Code: Select all

TestApiConnectivity
oder Locations), erwarte ich, dass der Browser eine GET-Anfrage an http://localhost:5213/api/locations sendet und eine Antwort zurückgibt.Die Fehlerbehebung war seitdem frustrierend: Auf der Registerkarte „Netzwerk“ und „Konsole“ des Browsers sind keine HTTP-Anfragen sichtbar. Die API protokolliert keine empfangenen Anfragen. Und schließlich wird die Blazor-Seite nicht mit der Antwort aktualisiert.
Frage:
Was könnte meine Blazor Server-Webanwendung daran hindern, HTTP-Anfragen an zu senden? die API, obwohl:
  • CORS konfiguriert ist,
  • API mit Postman und Swagger funktioniert,
  • Die HttpClient.BaseAddress ist festgelegt richtig?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post