C# 如何将对象传递给web服务?

C# 如何将对象传递给web服务?,c#,web-services,C#,Web Services,我已经在谷歌上搜索了很多。 我在客户端创建了一个EntityClass,然后在Web服务端添加了这个类的库引用。但当我想调用该方法时,它显示以下错误: 错误2参数1:无法转换 从…起 'Services\u Library.UserService.UserServiceSoapClient' 到 'Services\u Library.UserService.UserEntity' 下面是代码,此方法是从用户界面调用的: public UserEntity test(UserEntity use

我已经在谷歌上搜索了很多。 我在客户端创建了一个EntityClass,然后在Web服务端添加了这个类的库引用。但当我想调用该方法时,它显示以下错误:

错误2参数1:无法转换 从…起 'Services\u Library.UserService.UserServiceSoapClient' 到 'Services\u Library.UserService.UserEntity'

下面是代码,此方法是从用户界面调用的:

public UserEntity test(UserEntity userEntityx)
    {
        UserService.UserServiceSoapClient userService = new UserService.UserServiceSoapClient();
        userService.testUserAsync(new UserEntity());
    }

我想我们不需要显式序列化就可以做到这一点,对吗?如果是这样,我更喜欢这种方式。

我认为问题在于,当您实际调用服务时,您传递的是serviceReference,而不是调用接受的对象。我认为应该是这样的:

public UserEntity test(UserEntity userEntityX)
{
    var userService = new UserService.UserServiceSoapClient();
    return userService.testUser(userEntityX);
}
不需要显式序列化


另外,请记住,如果调用异步版本的方法,代码将变得更加复杂。我在示例中使用了同步版本。

我认为问题在于,当您实际调用服务时,您传递的是serviceReference,而不是调用接受的对象。我认为应该是这样的:

public UserEntity test(UserEntity userEntityX)
{
    var userService = new UserService.UserServiceSoapClient();
    return userService.testUser(userEntityX);
}
不需要显式序列化


另外,请记住,如果调用异步版本的方法,代码将变得更加复杂。我在示例中使用了同步版本。

您使用的是.asmx还是wcf服务?您使用的是.asmx还是wcf服务?是的,我知道异步。抱歉,我的真实代码是这样的,但仍然不起作用:public UserEntity test(UserEntity userEntityx){UserService.UserServiceSoapClient UserService=new UserService.UserServiceSoapClient();UserService.testUserAsync(new UserEntity());}如果是这样,那么你得到的编译错误就没有任何意义了。你确定这就是你的全部代码吗?是的,这对我来说没有意义=/正如我说的,这是唯一一个生成错误的代码:public UserEntity test(UserEntity userEntityx){UserService.UserServiceSoapClient UserService=new UserService.UserServiceSoapClient();UserService.testUserAsync(new UserEntity());}耶,我知道那个异步。抱歉,我的真实代码是这样的,但仍然不起作用:public UserEntity test(UserEntity userEntityx){UserService.UserServiceSoapClient UserService=new UserService.UserServiceSoapClient();UserService.testUserAsync(new UserEntity());}如果是这样,那么你得到的编译错误就没有任何意义了。你确定这就是你的全部代码吗?是的,这对我来说毫无意义=/正如我所说,这是唯一一个生成错误的代码:public UserEntity test(UserEntity userEntityx){UserService.UserServiceSoapClient UserService=new UserService.UserServiceSoapClient();UserService.testUserAsync(new UserEntity());}