Xml C#不包含';内容';
我创建了一个服务,它将用户输入作为xml接受,如果缺少任何参数,则必须返回一个视图,允许用户输入缺少的详细信息 所以我认为使用api控制器返回视图是不可能的,所以我使用了mvc控制器。但是当我读取xml时,会显示以下错误 C#不包含“Content”的定义,并且找不到接受类型为的第一个参数的扩展方法“Content”(是否缺少using指令或程序集引用?) 这是我的密码Xml C#不包含';内容';,xml,asp.net-mvc,asp.net-web-api,Xml,Asp.net Mvc,Asp.net Web Api,我创建了一个服务,它将用户输入作为xml接受,如果缺少任何参数,则必须返回一个视图,允许用户输入缺少的详细信息 所以我认为使用api控制器返回视图是不可能的,所以我使用了mvc控制器。但是当我读取xml时,会显示以下错误 C#不包含“Content”的定义,并且找不到接受类型为的第一个参数的扩展方法“Content”(是否缺少using指令或程序集引用?) 这是我的密码 public class MyController : Controller { public IHttpAction
public class MyController : Controller
{
public IHttpActionResult MyService([FromUri] TestProperty testProperty)
{
string DataXML = this.Request.Content.ReadAsStringAsync().Result;
}
}
我的问题是
1.如何解决此错误
2.使用api控制器是否有其他方法来满足我的需求?将视图返回给用户并接受xml。请注意,
内容在ApiController的HttpRequestMessage
中可用,而不是在Controller的HttpRequestBase
中可用
如果要使用Request.Content.ReadAsStringAsync()
您的控制器应该从ApiController
(Web API)继承,而不是与控制器一起使用
如果您想阅读MVC控制器中的内容,可以尝试以下方法
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();
}
//Rest
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
请注意,内容
可在ApiController的HttpRequestMessage
中找到,而不是在Controller的HttpRequestBase
中找到
如果要使用Request.Content.ReadAsStringAsync()
您的控制器应该从ApiController
(Web API)继承,而不是与控制器一起使用
如果您想阅读MVC控制器中的内容,可以尝试以下方法
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();
}
//Rest
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
您的项目中是否添加了System.Web
&System.Net.Http
程序集?是的,我已经添加了@PranavSinghdo这两个@PranavSingh。您的项目中添加了System.Web
&System.Net.Http
程序集?是的,我已经添加了@PranavSingh这两个@PranavSingh