使用Fiddler';s向具有DataContract中未定义的附加节点的ASP.NET服务器发送请求,并期望它引

本文关键字:服务器 NET ASP 节点 请求 期望 Fiddler 未定义 DataContract 使用 | 更新日期: 2023-09-27 17:58:08

当xml中有一个未在DataContract中定义的额外节点时,Fiddler将显示来自服务器的任何异常。

我正在通过fiddler执行PUT。我在xml中传递了一个额外的节点,即c#对象中没有定义DataMember,但在执行此操作后,我没有得到任何异常。

下面是它的请求头和主体,在下面的例子中,Task从未定义过,而是在xml中提供的。

User-Agent: Fiddler
Content-length: 1306
Content-Type: application/xml
Authorization: admin:admin
Host: ***

请求正文

<Task xmlns="http://****" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <FirstName>abc</FirstName>
    <xyz>test</xyz>
</Task>

C#对象

[DataContract(Namespace = "http://***")]
public class Task
{
        [DataMember]
        public string FirstName{ get; set; }
}

在上面的场景中,服务器为什么不抛出任何异常?

使用Fiddler';s向具有DataContract中未定义的附加节点的ASP.NET服务器发送请求,并期望它引

您希望返回错误代码的是您的web服务器,而不是fiddler。我做WCF已经有几年了,但如果我没记错的话,请求中额外的xyz字段将被DataContractSerializer忽略。