小编Bea*_*eau的帖子

C# ASP.NET Core - SocketException: 不知道这样的主机

我遇到的问题似乎与使用异步调用特定 API 相关HttpClient- 奇怪的是它不会一直发生,并且可以通过刷新页面(有时一次,有时多次)来解决。

我认为这可能是本地问题,但在 Azure 上托管会产生相同的结果。

原始异常详细信息:

System.Net.Sockets.SocketException (11001): System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancelationToken) 不知道这样的主机

我检查过:

  • API 没有任何限制
  • 在浏览器中传递请求 url 返回预期的 JSON 结果
  • 刷新页面有时可以解决问题

错误的开始: 错误顶部

其余的部分: 错误底部

这是似乎导致问题的方法:

public async Task<List<MoonPhase.Phasedata>> GetPhaseDataAsync(double lat, double lng, int year)
{
    string requestUrl = "https://api.usno.navy.mil/moon/phase?year=" + year + "&coords=" + locationService.FormatCoordinates(lat, lng) + "&tz=0";

    using (var client = new HttpClient())
    {
        var content = await client.GetStringAsync(requestUrl);
        var moonPhaseObject = JsonConvert.DeserializeObject<MoonPhase.RootObject>(content, new JsonSerializerSettings
        {
            NullValueHandling = NullValueHandling.Ignore
        });

        return moonPhaseObject.PhaseData;
    } …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-mvc asp.net-core

6
推荐指数
1
解决办法
3万
查看次数

.NET Core - 能够连接到 Azure 应用程序配置但无法返回任何配置值?

我有一个 .NET Core Azure Function 应用程序,在其中连接到 Azure 应用程序配置服务并注册 Key Vault 连接:

using Azure.Identity;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using System;

[assembly: FunctionsStartup(typeof(Func.Accounts.Api.Startup))]

namespace Func.Accounts.Api
{
    public class Startup : FunctionsStartup
    {
        public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
        {
            string connectionString = Environment.GetEnvironmentVariable("AppConfigConnectionString");

            builder.ConfigurationBuilder.AddAzureAppConfiguration(options =>
            {
                options.Connect(connectionString)
                    .ConfigureKeyVault(kv =>
                    {
                        kv.SetCredential(new DefaultAzureCredential());
                    });
            });
        }

        public override void Configure(IFunctionsHostBuilder builder)
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以正常连接到该服务,并且可以通过 Azure 门户看到它正在接收请求,但我无法让它实际返回任何配置值。这是配置被注入到函数中后的样子:

在此输入图像描述

我知道应用程序配置服务中有 3 个配置值,但它不返回任何数据,而且我看不到它失败的地方。据我所知,不存在身份验证问题,并且我已经使用相同的方法在不同的项目中成功实现了这一点。

有趣的是,如果我尝试通过检索密钥,Azure App Configuration client library我会在该方法中收到以下404错误GetConfigurationSetting。我很难理解它为什么看不到我的任何配置设置。

在此输入图像描述

c# azure .net-core azure-functions

1
推荐指数
1
解决办法
1182
查看次数