相关疑难解决方法(0)

.Net Core 3.0中IMvcBuilder AddJsonOptions放在哪里?

我刚刚将我的ASP Web API项目从.Net core 2.0升级到3.0。我在用

     services.AddMvc()
             .AddJsonOptions(options =>options.SerializerSettings.ContractResolver 
                                       = new DefaultContractResolver());
Run Code Online (Sandbox Code Playgroud)

以前是为了确保序列化JSON的小写字母。

升级到3.0后,出现此错误...

错误CS1061'IMvcBuilder'不包含'AddJsonOptions'的定义,找不到可以接受的扩展方法'AddJsonOptions'接受类型为'IMvcBuilder'的第一个参数(是否缺少using指令或程序集引用?)

根据Asp.Net Core 2.2中MvcJsonOptions的AddJsonOptions,Microsoft.AspNetCore.Mvc.Formatters.Json nuget包提供了AddJsonOptions扩展方法。我尝试安装/重新安装此程序,但仍然无法解决该方法。有趣的是,智能感知仅显示Microsoft.AspNetCore.Mvc.Formatters。即使我添加了Json nuget包,当我尝试添加using语句时也使用Xml

有什么想法吗?该文档AddJsonOptions只上升到.NET 2.2所以也许是方法已经在3.0赞成一些其他配置机制的被弃用?

asp.net json.net asp.net-core asp.net-core-3.0

35
推荐指数
5
解决办法
1万
查看次数

.NET CORE 3升级CORS和Json(cycle)XMLHttpRequest错误

我的工作项目用asp.net core 2.1编写了很长时间,但是昨天,我被迫将其升级到.net core 3.0(由于2.1无法调用已经用3.0编写的Dll)。

因此,许多功能已过时或已被删除。我几乎解决了所有问题,但CORS出现了一个问题。

像我之前的许多人一样,我曾经:

app.UseCors(x => x
  .AllowAnyOrigin()
  .AllowAnyMethod()
  .AllowAnyHeader()
  .AllowCredentials());
Run Code Online (Sandbox Code Playgroud)

Configure功能上。并services.AddCors()ConfigureServices功能上。

我能与设置固定这很容易WithOrigins().SetIsOriginAllowed(_ => true)代替AllowAnyOrigin()不与工作了AllowCredentials()

在那之后,我能够启动该应用程序,并且我认为一切都很好,但是直到现在为止,我一直陷在一个我不知道如何解决的问题上。

我有数据库关系N:N和关系表来处理该问题,这意味着我具有Admin具有AdminProject list属性的实体,然后又具有AdminProject具有Admin listProject list属性的Project实体以及具有AdminProject list属性的实体。

当我列出某些管理员的项目时,我将在Controller this中返回return Ok(projects),我只getAllAdminProject实体上使用,然后Select仅返回项目。

为此,我必须[JsonIgnore]在project / admin中使用创建json时不需要避免循环的属性。

这样说:现在,.NET CORE 3.0和CORS设置不起作用了

我收到一个错误: System.Text.Json.JsonException: A possible object cycle was …

json xmlhttprequest cors asp.net-core asp.net-core-3.0

12
推荐指数
2
解决办法
4407
查看次数