asp.net-mvc – 如何将XML作为POST传递给ASP MVC .NET中的ActionResult
发布时间:2020-12-30 20:29:15 所属栏目: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)
{
} (编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 我应该在.gitingore文件中包含.vs文件夹吗?
- 从Asp.Net MVC 6 API返回JSON错误
- asp.net-mvc – 如何在ASP.NET MVC中生成弹出页面链接
- asp.net-mvc – 从页面到局部视图的asp.net mvc参数
- asp.net使用AJAX实现无刷新分页
- asp.net – 我们可以在视图状态中放置哪些类型的对象?
- asp.net-mvc – Nhibernate / MVC:在View中处理延迟加载的
- asp.net – “线程被中止了什么”. ‘SNIReadSync(SNI_Conn
- asp.net+js实现批量编码与解码的方法
- asp.net – 将ViewState移出页面?
推荐文章
站长推荐
- asp.net-mvc – 如何继承ASP.NET MVC控制器并仅更
- asp.net – 注册.NET 4.5 IIS 10 Windows 10
- asp.net-mvc – 根据浏览器接受语言自动设置uiCu
- asp.net – 如何在gridview中将navigateurl添加到
- asp.net-mvc – 如何在多个Asp.net MVC应用程序中
- asp.net – 哪里是.ASPXAUTH cookie
- asp.net – IControllerFactory’MyWebSite.WebU
- asp.net – UserControl Viewstate在回发后丢失所
- asp.net编程实现删除文件夹及文件夹下文件的方法
- asp.net-mvc – 在ASP.NET MVC中获取当前操作/控
热点阅读
