在获取从客户端发送到服务器上的 WCF 服务的 base64 编码字符串时,我遇到了一个奇怪的问题。在我的 WCF 服务方法中,此字符串始终为 null。我的商务舱是:
[DataContract(Namespace = "")]
public class Test
{
[DataMember]
public int Id { get; set; }
[DataMember]
public int Name { get; set; }
[DataMember]
public int Age { get; set; }
[DataMember]
public string MyString { get; set; }
}
我正在将 xml 中的帖子数据发送到我的 WCF 服务:
string data = string.Format("<Test><Id>{0}</Id><Name>{1}</Name><Age>{2}</Age><MyString>{3}</MyString></Test>",
1, "name", 20, Convert.ToBase64String(image));//image is in bytes
上面的“图像”以字节为单位。
在 MyTestService.svc.cs 中的服务器上接收客户端数据时:
public void CreateTest(Test test)
{
在“测试”对象中,我得到了从客户端发送的所有属性的值,除了“MyString”属性。它总是空的。我在 Fiddler 中仔细检查了 xml 中的“MyString”标签包含 base64 编码的字符串。你能帮我解决这个问题吗?
xml 标签中属性值的长度是否有限制。图像的编码字符串足够长。