HttpClient BlazorWASM
HttpClient BlazorWASM
我有一个 BlazorWASM 单页应用程序,在这个应用程序中,我从不同的 API 服务器获取了一些数据,这些 API 填充了一些表。
- Razor 组件中的注入客户端:
@inject HttpClient Http
远程外部API由应用API调用,没问题。
示例:
var x = await Http.GetFromJsonAsync<APIStatus?>($"api/ExternalStatus/{ExternalId}");
/// process x...
但我需要调用一些仅在客户端范围内可见的本地 API。
示例:
http://localhost:8085
,或http://mylocalserverapi.mydomain.local:8091
,
我认为像这样调用一些内部 url 是行不通的:
//This url is local
string url = "http://192.168.1.40:3812";
var x = await Http.GetFromJsonAsync<LocalApiStatus?>(url + $"/summary");
我认为需要在 cors 和/或其他东西中配置一些才能让它工作,而且我看到 cors 在服务器项目中,而不是客户端项目中。这让我很困惑。
谁能帮我解释一下怎么做?
请注意,本地 API 可以是:http://
或 https://
证书无效或 https://
证书有效。
即使您共享在开发模式下工作的代码,您认为它在生产模式下也能工作吗? (示例:允许所有模式下的 CORS 配置)
谢谢大家!
注入的 Http 客户端已经连接到您的主机。您不能使用它与其他服务器通信
必须为新服务器创建一个新的 HTTP 客户端
var cl = new HttpClient {
BaseAddress = new Uri("http://192.168.1.40:3812")
};
var x = await cl.GetFromJsonAsync<LocalApiStatus?>("/summary");
我有一个 BlazorWASM 单页应用程序,在这个应用程序中,我从不同的 API 服务器获取了一些数据,这些 API 填充了一些表。
- Razor 组件中的注入客户端:
@inject HttpClient Http
远程外部API由应用API调用,没问题。
示例:
var x = await Http.GetFromJsonAsync<APIStatus?>($"api/ExternalStatus/{ExternalId}");
/// process x...
但我需要调用一些仅在客户端范围内可见的本地 API。
示例:
http://localhost:8085
,或http://mylocalserverapi.mydomain.local:8091
,
我认为像这样调用一些内部 url 是行不通的:
//This url is local
string url = "http://192.168.1.40:3812";
var x = await Http.GetFromJsonAsync<LocalApiStatus?>(url + $"/summary");
我认为需要在 cors 和/或其他东西中配置一些才能让它工作,而且我看到 cors 在服务器项目中,而不是客户端项目中。这让我很困惑。
谁能帮我解释一下怎么做?
请注意,本地 API 可以是:http://
或 https://
证书无效或 https://
证书有效。
即使您共享在开发模式下工作的代码,您认为它在生产模式下也能工作吗? (示例:允许所有模式下的 CORS 配置)
谢谢大家!
注入的 Http 客户端已经连接到您的主机。您不能使用它与其他服务器通信
必须为新服务器创建一个新的 HTTP 客户端
var cl = new HttpClient {
BaseAddress = new Uri("http://192.168.1.40:3812")
};
var x = await cl.GetFromJsonAsync<LocalApiStatus?>("/summary");