asp.net-mvc – 如何将XML作为POST传递给ASP MVC .NET中的ActionResult
发布时间:2020-12-31 01:18:36 所属栏目:asp.Net 来源:互联网
导读:我正在为我的ASP MVC项目提供一个简单的RESTful API.我不会控制这个API的客户端,他们将通过一个POST方法传递一个 XML,该方法将包含在服务器端执行某些操作所需的信息,并提供一个带有该操作结果的XML.我没有发回XML的问题,问题是通过POST接收XML.我已经看到一
我正在为我的ASP MVC项目提供一个简单的RESTful API.我不会控制这个API的客户端,他们将通过一个POST方法传递一个 XML,该方法将包含在服务器端执行某些操作所需的信息,并提供一个带有该操作结果的XML.我没有发回XML的问题,问题是通过POST接收XML.我已经看到一些 JSON的例子,但是由于我不会控制我的客户端(从我的角度来看,它可能是一个telnet),我不认为JSON将会工作.我对么? 我看到一些例子,客户端只需将正确的格式格式构造为请求正文的一部分,然后ASP解析消息,数据可用作FormCollection(?param1 = value1& param2 = value2&等).但是,我想传递纯XML作为邮件正文的一部分. 谢谢你的帮助, 解决方法@Freddy – 喜欢你的方法,并用以下代码改进它,以简化流读取:public override void OnActionExecuting(ActionExecutingContext filterContext) { HttpContextBase httpContext = filterContext.HttpContext; if (!httpContext.IsPostNotification) { throw new InvalidOperationException("Only POST messages allowed on this resource"); } Stream httpBodyStream = httpContext.Request.InputStream; if (httpBodyStream.Length > int.MaxValue) { throw new ArgumentException("HTTP InputStream too large."); } StreamReader reader = new StreamReader(httpBodyStream,Encoding.UTF8); string xmlBody = reader.ReadToEnd(); reader.Close(); filterContext.ActionParameters["message"] = xmlBody; // Sends XML Data To Model so it could be available on the ActionResult base.OnActionExecuting(filterContext); } 然后在Controller中,您可以使用字符串访问xml: [RestAPIAttribute] public ActionResult MyActionResult(string message) { } (编辑:台州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- VS 2013 RC中缺少ASP.NET Web窗体脚手架功能
- asp.net-mvc-3 – Orchard CMS DataAnnotations – 客户端验
- asp.net-mvc – 删除布局将默认为_ViewStart,为什么找不到部
- ASP.NET网站攻击:如何回应?
- asp.net – 按钮属性: – commandName和CommandArguments
- 从ASP.Net中的sessionID获取会话对象
- asp.net-mvc – ASP.Net 5中缺少FormCollections
- asp.net-mvc – ASP.NET捆绑/分类:包括动态生成的Javascri
- asp.net-mvc – 当注入服务或控制器的依赖关系太多时,重构策
- asp.net – 无法加载类型’site._Default[已关闭]
推荐文章
站长推荐
- ASP.net WebAPI跨域调用问题的解决方法
- AJAX分页的代码(后台asp.net)
- asp.net – 如何使用Inno Setup脚本创建IIS应用程
- asp.net – 如果我没有指定targetFramework =“4
- asp.net-mvc – 我如何moq aingleingleResult?我
- asp.net-mvc – ASP.NET MVC检查Controller或Act
- asp.net – Tridion分析和个性化错误:用户不能为
- asp.net – 在我的网站中添加HttpModule时出现“
- asp.net – “线程被中止了什么”. ‘SNIReadSyn
- asp.net-mvc-2 – 在名称中使用连字符处理MVC2变
热点阅读