Azure 上 Blazor 中的 HttpClient.GetJsonAsync() 导致 "Invalid JSON string",在本地它工作得很好。知道为什么吗?

HttpClient.GetJsonAsync() in Blazor on Azure leads to "Invalid JSON string", locally it works just fine. Any idea why?

我现在正在玩 Blazor。而且我发现了一个奇怪的行为,我不太确定,如果这是我的、Azure 的或 Blazor 的(它仍然是实验性的,所以它是可能的)的错。我的项目是 ASP.NET 核心托管(在 Azure 上,但我已经说过了)。

我有以下型号:

namespace MyProject.Shared
{
    public class Emoji
    {
        public List<string> UnicodeCharacters { get; set; }
        public string Description { get; set; }

        public Emoji()
        {
            UnicodeCharacters = new List<string>();
        }
    }
}

以下控制器:

namespace MyProject.Server.Controllers
{
    [Route("api/[controller]")]
    public class EmojiPickerController : Controller
    {
        [HttpGet("[action]")]
        public IEnumerable<Emoji> GetEmojis()
        {
            var emojis = new List<Emoji>();
            var emoji = new Emoji();
            emoji.Description = "Foo";
            emoji.UnicodeCharacters.Add("Bar");
            return emojis;
        }
    }
}

最后是我的组件:

namespace MyProject.Client.Classes
{
    public class EmojiPicker : BlazorComponent
    {
        [Inject]
        protected HttpClient Http { get; set; }
        public List<Emoji> Emojis = new List<Emoji>();

        protected override async Task OnInitAsync()
        {
            var emojiArray = await Http.GetJsonAsync<Emoji[]>("api/EmojiPicker/GetEmojis");
            Emojis = emojiArray.ToList<Emoji>();
        }
    }
}

当我在本地启动时一切正常。我已经在我的视图中找到了对象并且可以用它做一些事情(例如在屏幕上打印 "foo" 和 "bar" ;))。

但在我的 Azure WebApp 上不是这样。它只是行不通:

顺便说一句,WeatherCast 示例在两个平台上都可以运行。有什么想法吗?

好的,重新启动我的 Azure 应用程序后一切正常。奇怪。