对于我工作的公司,我需要通过网络服务获取并保存一些数据。
我开发了一个api,我可以:
QueryService
ObjectService
两个对象都有一个名为Attribute
的类,如下所示:
public partial class Attribute {
private string nameField;
private object valueField;
/// <remarks/>
public string Name {
get {
return this.nameField;
}
set {
this.nameField = value;
}
}
/// <remarks/>
public object Value {
get {
return this.valueField;
}
set {
this.valueField = value;
}
}
}
导致某些问题的这种情况的代码如下:
List<myApp.ObjectService.Attribute> properties = new List<myApp.ObjectService.Attribute>();
properties.Add(
new myApp.ObjectService.Attribute() {
Name = "object_name",
Value = g.Name
}
);
properties.Add(
new myApp.ObjectService.Attribute() {
Name = "title",
Value = g.Name
}
);
properties.Add(
new myApp.ObjectService.Attribute() {
Name = "m_video_st",
Value = g.Videos.Select(c => c.Id).ToArray()
}
);
properties.Add(
new myApp.ObjectService.Attribute() {
Name = "keywords",
Value = g.Keywords.ToArray()
}
);
myApp.ObjectService.Attribute[] arr = properties.ToArray();
os.Save(g.Id, arr);
os
正在该类的contstructor中创建:
this.os = new myApp.ObjectService.Objectservice();
在本地测试时(该服务在本地计算机和部署机器上引用相同的服务器)它运行良好,当我使用Fiddler查看从api发送到serveice的请求时,它看起来像这样:
但是当我部署请求时看起来像这样:
注意关键字属性从xsi:type=ArrayOfString
更改为xmlns:q2=http://xxxxxx.com/xxxxxx/queryservices xsi:type=q2:ArrayOfString ]
因此,出于某种原因,它会从列表类型进行更改。
我们认为它来自IIS。但我们不知道为什么。