gpt4 book ai didi

xml - C# 不包含 'Content' 的定义

转载 作者:行者123 更新时间:2023-12-05 09:16:54 25 4
gpt4 key购买 nike

我创建了一个接受用户输入为 xml 的服务,如果缺少任何参数,我必须返回一个 View ,允许用户输入缺少的详细信息。

所以我认为使用 api Controller 不可能返回 View ,所以我使用了 mvc Controller 。但是读取xml时出现如下错误。

C# does not contain a definition for 'Content' and no extension method 'Content' accepting a first argument of type could be found (are you missing a using directive or an assembly reference?)

这是我的代码

public class MyController : Controller 
{
public IHttpActionResult MyService([FromUri] TestProperty testProperty)
{
string DataXML = this.Request.Content.ReadAsStringAsync().Result;
}
}

我的问题是

1.如何解决这个错误?

2.是否有任何其他方法可以使用 api Controller 来满足我的需求?向用户返回 View 并接受 xml。

最佳答案

请注意,ContentApiControllerHttpRequestMessage 中可用,而不在 HttpRequestBase 中可用 Controller

如果您想使用 Request.Content.ReadAsStringAsync(),您的 Controller 应该继承自 ApiController (Web API) 而不是 Controller 。

如果你想读取MVC Controller 中的内容,你可以尝试如下。

string content = "";
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
using (var reader = new StreamReader(
Request.InputStream, System.Text.Encoding.UTF8, true, 4096, true))
{
content = reader.ReadToEnd();
}
//Reset the stream
System.Web.HttpContext.Current.Request.InputStream.Position = 0;

关于xml - C# 不包含 'Content' 的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49486762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com