如何在上为Azure Functions应用程序配置Newtonsoft序列化设置。NET 6与进程内函数。在"启动"中,我尝试了Services.AddMvcCore().AddJsonOptions(...)
,但这似乎是针对系统的。文本Json,这对我的响应数据没有影响。显然,函数默认使用Newtonsoft。正如一些SO文章所讨论的那样,我尝试了AddMvcCore().AddJsonFormatters()...
,但这似乎是适用的。NET 3.1或更旧的版本。我没有也找不到这样的扩展方法。我也试着寻找AddNewtonsoftJson()
扩展,但也没有找到,尽管有与我看到的使用它的示例相同的using语句
很明显,有很多旧文档都有各种版本的。NET核心。最近有人能告诉我怎么做吗?
编辑:我也愿意听取如何配置web主机以使用系统。文本Json,因为这也能满足我的需求,但不会直接回答这个特定的问题。
使用AddNewtonsoftJson()
扩展,该扩展通过从NuGet添加Microsoft.AspNetCore.Mvc.NewtonsoftJson
作为依赖项而可用。
你可以在你的功能项目中添加一个启动,如下
using Microsoft.Azure.Fucntions.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection
[assembly: FunctionsStartup(typeof(MyNamespace.Startup))]
namespace MyNamespace
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.services.AddJsonOptions(options =>
{
options.SerializerSettings. //your Json settings
}
}
}
此外,您还可以在这里注入任何其他依赖项,就像您通常在dotnet内核中所做的那样。
对于NewtonSoft,您将拥有以下
using Microsoft.Azure.Fucntions.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection
[assembly: FunctionsStartup(typeof(MyNamespace.Startup))]
namespace MyNamespace
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.services.AddMvcCore().AddNewtonsoftJson(options =>
{
options.SerializerSettings. //your Json settings
}
}
}