我从我的网络服务返回一个数组,如下所示:
[WebMethod]
public Test_UserData[] GetLimitUsers(int min, int max)
{
return UserServiceLayer.GetLimitUsers(min, max);
}
如果我从浏览器调用此 Web 服务,则会按预期以 XML 格式显示数组和内容。
然后,我将 Web 引用添加到了一个 winforms 项目。在我的裸露中,我在两个项目之间以相同的方式连接了其他 Web 服务,它们返回普通的旧对象并且它们工作正常。
UserWS.UserWS userWebService = new UserWS.UserWS();
Test_UserData[] testUserData = userWebService.GetLimitUsers(1, 2);
但是,当我调用此 Web 服务时,我得到了预期的对象数量,但所有字段均为 null 且布尔值均为 false。(与数组、列表和 ienumerable 的行为相同。)
有人可以解释为什么我得到了正确的对象,但它们都“无效”了吗?
编辑:
<Test_UserData>
<Id_ValueIncluded>true</Id_ValueIncluded>
<Id>
<Value xmlns="http://www.blah.co.uk/JamesTest/Data/">100001</Value>
<References xmlns="http://www.blah.co.uk/JamesTest/Data/"/>
</Id>
<ExtensionData_ValueIncluded>true</ExtensionData_ValueIncluded>
<Password_ValueIncluded>true</Password_ValueIncluded>
<Password>h</Password>
<UserName_ValueIncluded>true</UserName_ValueIncluded>
<UserName>h</UserName>
<OutputData>
<Type_ValueIncluded>true</Type_ValueIncluded>
<Type>Test_User</Type>
</OutputData>
</Test_UserData>