首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET Web服务结果,代理类和类型转换

ASP.NET Web服务结果,代理类和类型转换
EN

Stack Overflow用户
提问于 2019-05-20 06:21:04
回答 2查看 0关注 0票数 0

我还是ASP.NET世界的新手,所以我可以离开这里,但到目前为止这是我(有限的)知识的最佳选择!

假设我在Business命名空间中有一个标准的业务对象“Contact” 。我编写了一个Web服务来从数据库中检索联系人的信息,并将其返回。然后我写了一个客户端应用程序来请求所述细节。

现在,我还创建了一个实用程序方法,它接受“联系”并用它做一些魔法,Utils.BuyContactNewHat()比如说。当然需要类型的联系人Business.Contact

然后我回到我的客户端应用程序并想要使用该BuyContactNewHat方法,所以我添加了对我的Utils命名空间的引用,并且它就是。但是,出现了一个问题:

代码语言:javascript
复制
Contact c = MyWebService.GetContact("Rob);
Utils.BuyContactNewHat(c); // << Error Here

由于返回类型GetContactMyWebService.Contact和不Business.Contact符合预期的。我理解为什么会这样,因为在访问Web服务时,您实际上是在编写WSDL生成的代理类。

那么,是否有一种“更容易”的方式来处理这种类型的不匹配?我正在考虑尝试创建一个通用的转换器类,它使用反射来确保两个对象具有相同的结构,而不是简单地将值从一个传递到另一个。

EN

Stack Overflow用户

发布于 2019-05-20 15:07:27

你走在正确的轨道上。要将代理对象的数据恢复到您自己的对象之一,您必须执行左手右侧代码。即复制属性值。我敢打赌,你已经有了一种使用反射的通用方法。

如果他们只想通过网络获取业务对象,有些人将使用除Web服务(.net远程处理)之外的其他东西。或者他们将使用二进制序列化。我猜你正在使用网络服务是有原因的,所以你必须进行财产复制。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档