2

我从我的网络服务返回一个数组,如下所示:

   [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>
4

1 回答 1

1

最后,将 asmx 文件与 winforms 一起使用时,这是一个命名空间问题。

于 2013-10-17T14:43:56.287 回答