首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ASP.NET MVC中请求体的XML反序列化

ASP.NET MVC中请求体的XML反序列化
EN

Stack Overflow用户
提问于 2018-04-24 09:15:05
回答 1查看 632关注 0票数 0

我正在尝试设置一个MVC应用程序,它的端点可以在请求体中接受XML,然后对其进行处理。为了缩小问题的范围,我对此进行了简化,下面是我的模型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Public Class MyModel
    Public Property Value1 As String
    Public Property Value2 As String
End Class

我的控制器里有这样的装置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<HttpPost()> _
Public Function Launch(<FromBody()> ByVal myModel As MyModel) As ActionResult
    ' ...
    ' myModel is always a new object but with null properties
    ' ...
End Function

下面是我发送的HTTP请求:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
POST /launch HTTP/1.1
Host: example.com
Accept: application/xml
Content-Type: application/xml

<MyModel>
    <Value1>1</Value1>
    <Value2>2</Value2>
</MyModel>

当我调试时,它会到达正确的端点,但是myModel始终是空的。所谓空,我指的是对象已经被实例化了,但是它的所有属性都是null

我到处都在寻找答案,但什么也没有成功。我在config.Formatters.XmlFormatter.UseXmlSerializer = True代码中添加了Global.asax,但这似乎行不通。我还添加了一个自定义XmlMediaTypeFormatter,它忽略了xml空间,这似乎也不起任何作用。

我错过了什么明显的东西吗?我知道我正在使用VB.NET,我看到的所有例子都是C#,所以在翻译过程中可能丢失了一些东西。在这一点上,我很难理解为什么这很难做到。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-26 05:15:55

问题在于我的控制器是System.Web.Mvc.Controller类型的,而不是System.Web.Http.ApiController类型的。MVC控制器不具有与WebAPI控制器相同的反序列化能力,因此期望JSON数据或HTML数据作为有效负载。在将控制器的类更改为System.Web.Http.ApiController之后,它工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50007455

复制
相关文章
ASP.NET Core MVC 如何获取请求的参数
一次HTTP请求,就是一次标准IO操作。请求是I,是输入;响应式O,是输出。任何web开发框架,其实都是在干这两件事:
MJ.Zhou
2020/06/19
3.4K0
Asp.net MVC后台 XML、DataTable、DataSet之间的数据转换
  上面的方法只是将XMl字符串读入到DataSet中,然后再冲DataSet中查找先前定义过的DataTable即可。
aehyok
2018/09/11
1.5K0
Spring MVC中,applicationContext.xml [ServletName]-servlet.xml配置文件在web.xml中的配置详解Spring MVC中,applicatio
这样配置,SpringMVC会自动按照约定去找<servlet-name>swork</servlet-name>的swork-servlet.xml配置文件作为其servlet配置文件.
一个会写诗的程序员
2018/08/20
1.5K0
asp.net mvc中的路径选择
MVC的路径选择十分灵活,可以用类似/parm1/parm2/parm3/ 的方式(这个有点象iis的urlrewriter),也可以象传统url那样用/?parm1=a&parm2=b&parm3=
菩提树下的杨过
2018/01/22
2K0
ASP.NET MVC 3中ViewBa
ViewBag, ViewData十分类似,都可用于把数据从controller传递到view。
py3study
2020/01/06
9250
ASP.NET MVC 3中ViewBa
Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化
阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html
aehyok
2018/08/31
2.2K0
Asp.Net Web API(二)
当然,你也可以创建一个Web API项目,利用 Web API模板,Web API模板使用 ASP.Net MVC提供API的帮助页。
莫问今朝
2018/08/31
1.9K0
Asp.Net Web API(二)
ASP.Net请求处理机制初步探索之旅 - Part 5 ASP.Net MVC请求处理流程
开篇:上一篇我们了解了在WebForm模式下一个Page页面的生命周期,它经历了初始化Init、加载Load以及呈现Render三个重要阶段,其中构造了页面控件树,并对页面控件树进行了大量的递归操作,最后将与模板结合生成的HTML返回给了浏览器。那么,在ASP.NET MVC模式下,一个页面的生命周期又经历了哪些步凑呢?别急,本篇漫漫道来!
Edison Zhou
2018/08/20
1.1K0
ASP.Net请求处理机制初步探索之旅 - Part 5  ASP.Net MVC请求处理流程
Web API--入门--(一)ASP.NET Web API 2(C#)入门
在本教程中,您将使用ASP.NET Web API创建返回产品列表的Web API。前端网页使用jQuery显示结果。
喵叔
2020/09/08
4.3K0
Web API--入门--(一)ASP.NET Web API 2(C#)入门
[android] xml文件的序列化
生成xml文件,模拟备份短信,创建短信的业务bean,创建一个domain的包放业务bean,这个业务bean里面,定义成员属性,生成get set方法,生成有参和无参的构造方法。
唯一Chat
2019/09/10
7430
在 ASP.NET Core 中安装 MVC
到目前为止,我们在本系列视频中使用的 ASP.NET Core 项目是使用“空”项目模板生成的。目前这个项目没有设置和安装 MVC。
角落的白板报
2019/05/15
1.5K0
实战 ASP.NET Web API
Web API 框架是一个面向 Http 协议的通信框架。相对于 WCF 而言,Web API 只面向于 Http 协议设计,而且没有 WCF 那么繁琐的配置。Web API 的开发类似于 ASP.NET MVC 中控制器的开发,但是相对于直接使用 ASP.NET MVC 来返回 Json 对象的方式而言,Web API 封装了数据的序列化、反序列化,接口、实现都更加简单。 简单地说,如果要向浏览器、移动端提供 Json 数据格式的 API,则应该首选 Web API 作为通信框架。 以下,我列出了在当前
用户1172223
2018/01/29
1.4K0
实战 ASP.NET Web API
ASP.NET MVC 4 - 测试驱动 ASP.NET MVC
测试驱动 ASP.NET MVC Keith Burnell 下载代码示例 模型-视图-控制器 (MVC) 模式的核心是将 UI 功能划分成三个组成部分。模型表示您的领域的数据和行为。视图管理模型的显示并且处理与用户的交互。控制器协调视图和模型之间的交互。通过这样将本质上就难于测试的 UI 逻辑与业务逻辑分离开来,使得使用 MVC 模式实现的应用程序非常易于测试。在本文中,我将论述用于增强您的 ASP.NET MVC 应用程序的可测试性的最佳做法和技术,包括如何建立您的解决方案的结构、设计代码架构以便处理依
张善友
2018/01/22
5.4K0
ASP.NET MVC 4 - 测试驱动 ASP.NET MVC
ASP.NET MVC5请求管道和生命周期
请求管道是一些用于处理HTTP请求的模块组合,在ASP.NET中,请求管道有两个核心组件:IHttpModule和IHttpHandler。所有的HTTP请求都会进入IHttpHandler,有IHttpHandler进行最终的处理,而IHttpModule通过订阅HttpApplication对象中的事件,可以在IHttpHandler对HTTP请求进行处理之前对请求进行预处理或IHttpHandler对HTTP请求处理之后进行再次处理。
雪飞鸿
2018/09/05
1.7K0
ASP.NET MVC5请求管道和生命周期
【18】ASP.NET Core MVC 中的 Model介绍
在本视频中,我们将通过一个示例讨论 ASP.NET Core MVC 中的 Model。
角落的白板报
2019/07/31
7600
【18】ASP.NET Core MVC 中的 Model介绍
ASP.NET MVC5中的Model验证
Model验证是ASP.NET MVC中的重要部分,它主要用于判断输入的数据类型及值是否符合我们设定的规则,这篇文章就介绍下ASP.NET MVC中Model验证的几种方式。
雪飞鸿
2018/09/05
1.5K0
ASP.NET MVC5中的Model验证
ASP.NET MVC中的ActionFilter是如何执行的?
在ASP.NET MVC中的四大筛选器(Filter),ActionFilter直接应用在某个Action方法上,它在目标Action方法执行前后对调用进行拦截以执行一些额外的操作。这是一种典型的AO
蒋金楠
2018/01/15
1.6K0
ASP.NET MVC中的ActionFilter是如何执行的?
【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )
创建 XmlParser 解析器 , 传入 Xml 文件对应的 File 对象 ;
韩曙亮
2023/03/30
7.2K0
【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )
ASP.NET Core中处理中止的请求
当用户向应用程序发出请求时,服务器将解析该请求,生成响应,然后将结果发送给客户端。用户可能会在服务器处理请求的时候中止请求。就比如说用户跳转到另一个页面中获取说关闭页面。在这种情况下,我们希望停止所有正在进行的工作,以浪费不必要的资源。例如我们可能要取消SQL请求、http调用请求、CPU密集型操作等。
HueiFeng
2020/05/27
8240
【翻译】ASP.NET Web API入门
ASP.NET Web API是在.NET Framework上创建RESTful应用程序的理想平台
liulun
2022/05/09
1.8K0
【翻译】ASP.NET Web API入门

相似问题

asp.net核心mvc日志请求体

11

Spring MVC:不反序列化JSON请求体

64

使用ASP.NET MVC在请求体中获取json

128

如何在asp.net mvc中使用请求体

115

Spring MVC:请求体中JSONObject的请求映射

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文