首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取ArgumentException:升级到.NET Core2.2后,使用ActionResult<JsonResult>>作为返回类型的类型参数无效

问题:获取ArgumentException:升级到.NET Core2.2后,使用ActionResult<JsonResult>>作为返回类型的类型参数无效。

回答:这个问题在升级到.NET Core 2.2版本后,使用ActionResult<JsonResult>>作为返回类型的类型参数时出现了ArgumentException异常。

首先,让我们解释一下相关的概念和术语:

  1. ArgumentException:ArgumentException是.NET框架中的一个异常类,它表示传递给方法的参数无效。当方法接收到一个无效的参数时,就会抛出ArgumentException。

接下来,让我们讨论一下这个问题的解决方案:

在.NET Core 2.2版本之前,我们可以将ActionResult<JsonResult>>作为返回类型的类型参数使用,这是有效的。但是,在.NET Core 2.2版本中,这样的用法被认为是无效的,会导致ArgumentException异常的抛出。

为了解决这个问题,您可以尝试以下解决方案:

  1. 将返回类型更改为JsonResult:如果您只是返回一个Json结果,您可以将返回类型更改为JsonResult而不是ActionResult<JsonResult>>。这样可以避免使用无效的类型参数,并且仍然可以正确返回Json结果。
  2. 使用ObjectResult:如果您需要返回不同类型的结果,而不仅仅是Json结果,您可以考虑使用ObjectResult作为返回类型。ObjectResult是一个通用的ActionResult,它可以包含任何对象作为结果,并根据请求的内容类型进行适当的内容协商。

总结: 在升级到.NET Core 2.2版本后,使用ActionResult<JsonResult>>作为返回类型的类型参数被认为是无效的,会导致ArgumentException异常的抛出。为了解决这个问题,您可以将返回类型更改为JsonResult或使用ObjectResult作为通用的ActionResult。

腾讯云相关产品链接:

  1. 腾讯云云服务器(CVM):提供可靠、弹性的云服务器实例,适用于各种应用场景。
  2. 腾讯云云数据库MySQL:一种高性能、可扩展的云数据库服务,适用于Web应用程序和大规模企业级应用程序。
  3. 腾讯云人工智能:提供一系列人工智能技术和服务,如人脸识别、语音识别、自然语言处理等,用于开发智能应用和解决复杂问题。
  4. 腾讯云物联网(IoT):提供物联网设备连接、数据采集和应用管理的解决方案,适用于智能家居、智能城市和工业物联网等领域。
  5. 腾讯云区块链(BCG):提供一站式区块链服务,用于构建和管理基于区块链技术的应用程序和解决方案。
  6. 腾讯云音视频服务(VOD):提供高品质、高并发的音视频上传、转码、存储和播放服务,适用于视频网站、直播平台等场景。
  7. 腾讯云对象存储(COS):提供安全、可靠的云存储服务,适用于数据备份、图片存储、视频存储等场景。

请注意,以上链接是腾讯云相关产品的介绍页面,您可以在这些页面上了解更多关于产品的详细信息和使用方式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Core 2.2 : 二十. Action多种数据返回格式处理机制

上一章讲了系统如何将客户端提交请求数据格式化处理成我们想要格式并绑定到对应参数,本章讲一下它“逆过程”,如何将请求结果按照客户端想要格式返回去。...(ASP.NET Core 系列目录) 一、常见返回类型 以系统模板默认生成Home/Index这个Action来说,为什么当请求它时候回返回一个Html页面呢?...第三行ActionResult 类型是在ASP.NET Core 2.1 引入,它支持IActionResult子类也支持类似string和Book这样特定类型。...所以图 2中ActionResult 类型返回结果被加上引号意思就是结果类型可能是直接返回IActionResult子类,也有可能是string和Book这样特定类型被封装ObjectResult...所以这个IActionResult类型参数result实际上可能是JsonResult、ViewResult、EmptyResult等具体类型

1.5K30

小范笔记:ASP.NET Core API 基础知识与Axios前端提交数据

] 当前请求中路由数据 [FromServices] 作为操作参数插入请求服务 来一张 Postman 图片: HTTP 请求中,会携带很多参数,这些参数可以在前端设置,例如表单、Header、...注意:本文全部使用 [HttpPost] ;全局使用 JsonResult 作为返回类型。 二....res 是请求成功返回信息,res.data 是请求成功服务器返回信息。即是 action 处理数据返回信息。...ASP.NET Core 自动生成可读写 Controller ,默认都是使用 [Bind] 来绑定数据。 文档定义:用于对复杂类型模型绑定。...2, 返回数据类型 特定类型 IActionResult 类型 ActionResult 类型 Action return ,返回数据类型必定是上面三种。

5.6K00
  • ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门

    MVC控制器操作简介返回类型示例 ASP.NET Core MVC控制器参数映射逻辑说明 ASP.NET Core MVC控制器参数映射/获取示例 2、本教程环境信息 软件/环境 说明 操作系统 Windows...Controller接收到请求根据路由ActionName找到对应Action,然后将用户输入映射到该Action参数,最终Action实际执行完成返回对应输出。...不过在定义Action方法时候,返回类型也可以定义成string、int等,这些自定义返回类型会在返回到响应流之前被框架自动包装到合适ActionResult类型中。...使用示例 定义返回JsonResultAction public IActionResult JsonTest() { return Json(new { Message = "JsonResult...如果未找到参数对应数据,且该参数类型是可以为null类型,则null将作为参数值传递递,否则将会引发一场。

    1.9K10

    ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门

    MVC控制器操作简介返回类型示例 ASP.NET Core MVC控制器参数映射逻辑说明 ASP.NET Core MVC控制器参数映射/获取示例 2、本教程环境信息 软件/环境 说明 操作系统 Windows...Controller接收到请求根据路由ActionName找到对应Action,然后将用户输入映射到该Action参数,最终Action实际执行完成返回对应输出。...不过在定义Action方法时候,返回类型也可以定义成string、int等,这些自定义返回类型会在返回到响应流之前被框架自动包装到合适ActionResult类型中。...使用示例 定义返回JsonResultAction public IActionResult JsonTest() { return Json(new { Message = "JsonResult...如果未找到参数对应数据,且该参数类型是可以为null类型,则null将作为参数值传递递,否则将会引发一场。

    2.3K40

    了解ASP.NET MVC几种ActionResult本质:JavaScriptResult & JsonResult

    本篇文章着重介绍在进行Ajax调用中经常使用两个ActionResult,即JavaScriptResult和JsonResult。[本文已经同步到《How ASP.NET MVC Works?》...返回类型为JavaScriptResultAction方法一般用于处理Ajax请求。...但是对于后台程序来说,数据却是通过一个基于某种CLR类型对象来承载,当客户端调用某个Action方法并希望以JSON格式返回请求数据时,ASP.NET MVC需要有一种机制将CLR对象转换成JSON...,JsonResult在默认情况下不能作为对HTTP-GET请求响应,在这种情况下并会直接抛出一个InvalidOperationException异常。...了解ASP.NET MVC几种ActionResult本质:FileResult 了解ASP.NET MVC几种ActionResult本质:JavaScriptResult & JsonResult

    1.7K80

    了解ASP.NET MVC几种ActionResult本质:EmptyResult & ContentResult

    本篇文章着重介绍在进行Ajax调用中经常使用两个ActionResult,即JavaScriptResult和JsonResult。[本文已经同步到《How ASP.NET MVC Works?》...返回类型为JavaScriptResultAction方法一般用于处理Ajax请求。...但是对于后台程序来说,数据却是通过一个基于某种CLR类型对象来承载,当客户端调用某个Action方法并希望以JSON格式返回请求数据时,ASP.NET MVC需要有一种机制将CLR对象转换成JSON...,JsonResult在默认情况下不能作为对HTTP-GET请求响应,在这种情况下并会直接抛出一个InvalidOperationException异常。...了解ASP.NET MVC几种ActionResult本质:FileResult 了解ASP.NET MVC几种ActionResult本质:JavaScriptResult & JsonResult

    1.7K50

    ASP.Net请求处理机制初步探索之旅 - Part 5 ASP.Net MVC请求处理流程

    这里我们选择ASP.NET MVC 4源码作为分析对象,我已经将其上传到了网盘中,你可以通过下面这个地址进行下载:   传送门:http://pan.baidu.com/s/1bnF8ZPt   下载完成...Action并获取所需参数,然后调用InvokeActionMethodWithFilters方法执行Action。...转到定义一看,原来不就是我们在开发中经常返回ActionResult类型吗?...,然后获得了一个returnValue返回值,通过传入返回值创建具体类型ActionResult作为方法返回值。...这里需要注意是,ActionResult是一个抽象类,像什么JsonResult、EmptyResult、ViewResult等都是其子类,而这里CreateActionResult就是要创建其具体子类实例并返回

    1.1K30

    ASP.NET MVC编程——控制器

    每一个请求都会经过控制器处理,控制器中每个方法被称为控制器操作,它处理具体请求。 1操作输入参数 控制器操作输入参数可以是内置类型也可以是自定义类型。...View 指定视图 EmptyResult 无 不返回任何内容 上述返回类型均继承自ActionResult,除了上述类型外,控制器可以返回任意类型!...,使用新名称作为路由参数,方可路由到该操作 例: [ActionName("AboutName")] public ActionResult About() { ...... } 11)NonActionAttribute...从线程池获得线程处理异步请求,异步调用完,该线程回到线程池以便可以处理其他请求,同时通知ASP.NET重新抓取一个线程(不一定是处理异步请求线程)来完成具体异步操作(输出数据等)。...:OnActionExecuted 操作执行前被框架自动调用方法:OnActionExecuting 返回结果被框架自动调用方法:OnResultExecuted 返回结果前被框架自动调用方法:

    2.2K90

    使用 C# 9 records作为类型ID - 路由和查询参数

    上一篇文章,我介绍了使用 C# 9 record类型作为类型id,非常简洁 public record ProductId(int Value); 但是在强类型id真正可用之前,还有一些问题需要解决...,比如,ASP.NET Core并不知道如何在路由参数或查询字符串参数中正确处理它们,在这篇文章中,我将展示如何解决这个问题。...415,.NET Core 不知道怎么把URL参数转换为ProductId,由于它不是int,是我们定义类型ID,并且没有关联类型转换器。...通用强类型id转换器 首先,让我们创建一个Helper •检查类型是否为强类型ID,并获取类型获取值得类型,创建并缓存一个委托 public static class StronglyTypedIdHelper...; } } 到这里,我们可以直接删除之前 ProductIdConvert, 现在有一个通用可以使用,现在.NET Core 路由匹配已经没有问题了,接下来文章,我会介绍如何处理在JSON

    1.9K20

    ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

    1.2 Razor语法   (1)Razor文件类型:Razor支持两种文件类型,分别是.cshtml 和.vbhtml,其中.cshtml 服务器代码使用了c#语法,.vbhtml 服务器代码使用了...这样就解释了,我们在Action中可以不仅可以返回ViewResult还可以返回JsonResult原因。通过下表,我们可以清晰地看到,ActionResult各种派生类详情: ?   ...特别是,以前我们在WebForm时代常常与浏览器交互采用JSON格式数据,需要使用JavaScriptSerializer这个类进行Serialize返回。...但是,在MVCAction中,微软已经帮我们封装了好了JsonResult,因此,我们可以高兴地感慨:返回Json,So Easy!...②url参数:   url获取数据规则,这里不是正则表达式,将要识别的参数括起来即可,比如: {controller}/{action}   最少只需要传递name和url参数就可以建立一条Routing

    1.8K30

    模拟ASP.NET Core MVC设计与实现

    接下来,我同样使用简单代码构建一个Mini版MVC框架,让大家了解一下ASP.NET Core MVC背后总体设计,以及针对请求处理流程。[源代码从这里下载]。...我们利用MethodInfo声明类型得到Controller类型,将剔除“Controller”后缀类型名称作为ControllerName属性(表示Controller名称),作为Action...该方法返回类型为ValueTask,泛型参数代表object就是执行Action方法得到返回值(对于返回类型为void方法,这个值总是Null)。...>对象(具体返回是一个JsonResult对象)。...我们使用Fiddler向路径“/baz”发送一个POST请求来访问Action方法Baz,我们将请求主体内容设置为基于Result类型JSON字符串,我们提供IArgumentBinder对象利用发序列化请求主体形式绑定其参数

    31230

    ABP入门系列(8)——Json格式化

    Mvc中JsonResult Asp.net mvc中默认提供了JsonResult来处理需要返回Json格式数据情况。...一般我们可以这样使用: public ActionResult Movies() { var movies = new List(); movies.Add(new {...不包含成功失败信息:如果我们要判断请求是否成功,我们要手动通过获取json数据包length获取返回日期未格式化,在前端还需自行格式化输出。...:是否缩进(默认为false,即未格式化) 并在AbpController中重载了ControllerJson()方法,强制所有返回Json格式数据为AbpJsonResult类型,并提供了AbpJson...总结 本节主要讲解了以下几个问题: Asp.netJsonResult实现。 ABP对JsonResult再封装,支持指定大小驼峰及是否缩进进行Json格式化。

    1.7K90

    ASP.NET MVC 行为详解

    方式二:自动装配,在方法参数位置,定义类型参数名称,mvc会自动匹配相同名称属性值,即匹配inputname与对象属性相同名称值。 ?...还可以完成自定义类型参数封装 ?...自动装配要求:参数名称或对象类型属性必须与参数键相同 返回结果 返回类型ActionResult,是一个抽象类,需要返回具体类型结果对象 直接或间接继承自ActionResult类型 ViewResult...:使用View()可以指定一个页面,也可以指定传递模型对象,如果没有指定参数则表示返回与Action同名页面。...RedirectResult:使用Redirect(string url)将结果转到其他Action JsonResult使用Json(object data) 将data序列化为json数据并返回

    67640

    从头编写 asp.net core 2.0 web api 基础框架 (1)

    当然也可以单独使用kestrel作为web 服务器, 但是使用iis作为reverse proxy还是由很多有点: 例如,IIS可以过滤请求, 管理证书, 程序崩溃时自动重启等....返回Status Code 目前我们返回JsonResult继承与ActionResult, ActionResult实现了IActionResult接口....因为web api不一定返回都是json类型数据, 也不一定只返回一堆json(可能还要包含其他内容). 所以JsonResult并不合适作为Action返回结果....结果格式 asp.net core 2.0 默认返回结果格式是Json, 并使用json.net对结果默认做了camel case转化(大概可理解为首字母小写). ...设置header为xml,返回还是json, 这是因为asp.net core 默认只实现了json.

    2.1K70

    ASP.NET MVC5中View-Controller间数据传递

    使用ASP.NET MVC做开发时,经常需要在页面(View)和控制器(Controller)之间传递数据,那么都有哪些数据传递方式呢?...获取路由参数另外一种方式是给Action设置一个和路由模板中指定参数名一致(不区分大小写)参数即可,代码如下: public void GetValue(int id) { } 注意,这里不仅获取了路由数据...username, int age) { } 在Action中成功获取到了对应参数值,且数据类型也根据Action中参数类型进行了相应转换。...Json public ActionResult Index() { return View(); } public JsonResult SendData() { return Json...ExpandoObject 上面提到,直接使用匿名类型向View中传递数据是行不通,可以使用ExpandoObject类型对象来替代匿名类型 public ActionResult Index() {

    2.7K10
    领券