编程语言
首页 > 编程语言> > c#-Web API请求数据第二次错误

c#-Web API请求数据第二次错误

作者:互联网

奇怪的错误.

var xmlDoc = new System.Xml.XmlDocument();
xmlDoc.Load(this.Request.Content.ReadAsStreamAsync().Result);

var xmlDoc1 = new System.Xml.XmlDocument();
xmlDoc1.Load(this.Request.Content.ReadAsStreamAsync().Result);

在WEB API中,我尝试将POST数据加载到xmlXoc中,效果很好

当我尝试再次将其加载到xmlDoc1(新变量)时,出现了根元素丢失错误.

我看到ReadAsStreamAsync是一个只读流,但是为什么最后一行出现错误?

解决方法:

将流保存在本地变量中,并在第二次读取时将其重置为开头.

var stream = this.Request.Content.ReadAsStreamAsync().Result

var xmlDoc = new System.Xml.XmlDocument();
xmlDoc.Load(stream);

// RESET 
stream.Position = 0;
var xmlDoc1 = new System.Xml.XmlDocument();
xmlDoc1.Load(stream);

标签:asp-net-web-api,asp-net-web-api2,c,net
来源: https://codeday.me/bug/20191121/2053382.html