繁体   English   中英

在ASP.NET Web服务上传递实体

[英]Passing Entity on ASP.NET Web Service

这可能很容易,但是我在这里要做的是,我正在尝试将客户对象传递给Web服务方法。 Customer类位于Entity名称空间上,并且可以序列化,并且我要添加对我的ASP.NET应用程序的引用,该应用程序调用Web服务并传递Entity.Customer对象,还添加了对接受Enity.Customer Object的WebService的引用。

Web服务方式

[WebMethod]
public void AddCustomer(Entity.Customer c)
{}

ASP.NET应用

Entity.Customer c = new Entity.Customer;
webservice.AddCustomer(c);

错误

'TestApplication.localhost.Service1.AddCustomer(TestApplication.localhost.Customer)'的最佳重载方法匹配具有一些无效的参数

我尝试将Web服务更改为接受Object,然后将该对象转换为Customer.Entity,应用程序进行了编译,但出现XML生成错误。

您是否正在Visual Studio中使用“添加Web引用”方法生成Web服务方法?

这是编译问题吧? 您的应用程序不想编译吗? 只需转到方法的定义,并确保您传递的对象与方法定义中指定的对象相同-通常,生成的Web服务方法会生成该对象的代理版本,并且您需要传递该完全相同的类。

通过服务方法生成的帮助程序方法通常期望本地生成的对象-这是因为服务器端对象的某些元素未序列化,或者由于序列化而处理的方式略有不同。

尝试:

TestApplication.localhost.Customer c = new TestApplication.localhost.Customer();
webservice.AddCustomer(c);

这样,您将使用具有正确序列化属性的生成对象,而不是原始对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM