我正在尝试HttpClient在使用的Blazor服务器中配置的基地址,IHttpClientFactory但出现运行时异常:
services.AddHttpClient("ApiClient", (provider, client) =>
{
var uriHelper = provider.GetRequiredService<NavigationManager>();
client.BaseAddress = new Uri(uriHelper.BaseUri);
});
Run Code Online (Sandbox Code Playgroud)
System.InvalidOperationException: 'Cannot resolve scoped service 'Microsoft.AspNetCore.Components.NavigationManager' from root provider.'
Run Code Online (Sandbox Code Playgroud)
有谁知道这里可能是什么问题?
dotnet-httpclient .net-core blazor httpclientfactory blazor-server-side
我正在尝试使用 Kubernetes 设置 ASPNET.Core 3.0 Web 应用程序,但无法让 Kestrel 使用 https。
我在网上搜索了一些有关两个环境变量的信息,我可以声明它们来传递证书的路径和密码。
我使用这些变量进行了 Kubernetes 部署,如下所示:
spec:
containers:
- env:
- name: ASPNETCORE_URLS
value: http://+:80;https://+:443
- name: ASPNETCORE_KESTREL_CERTIFICATE_PASSWORD
value: password
- name: ASPNETCORE_KESTREL_CERTIFICATE_PATH
value: /app/tls/certificate.pfx
volumeMounts:
- name: storage
mountPath: "/app/tls"
volumes:
- name: storage
persistentVolumeClaim:
claimName: tls-storage
Run Code Online (Sandbox Code Playgroud)
我在没有启用 https 的情况下运行该应用程序,发现该卷已正确安装在 pod 内,并且certificate.pfx存在于/app/tls/.
有人知道 Kestrel 是否配置为默认从这些环境变量获取值,或者我还应该在Program.cs/中编写一些代码吗Startup.cs?