添加web引用和添加服务引用的区别

zlb789 2010-07-28 06:05:48
在项目中添加web service 程序可以正常运行,

但是改为服务引用就不能正常运行了。 是调用返回自定义类型的时候出错

  http://tempuri.org/ 进行反序列化时出错: GetCommunityResponse。InnerException 消息是“在行 1、位置 325 出现错误。 元素“http://tempuri.org/:anyType”含有“http://tempuri.org/:CommunityEntity”数据协定的数据。反序列化程序不知道映射到此协定的类型。请将与“CommunityEntity”对应的类型添加到已知类型的列表中,例如,通过使用 KnownTypeAttribute 属性或通过将其添加到传递给 DataContractSerializer 的已知类型的列表等方法。”。有关详细信息,请参阅 InnerException。

这2则有什么区别,如果要实现引用也能正常调用,服务端 和客户端需要做哪些修改吗?

...全文
812 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gooce 2010-08-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 isline 的回复:]
你如果调用WebService则添加web引用
如果调用WCF则添加服务引用
[/Quote]
精辟!收录了
guyehanxinlei 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 isline 的回复:]
你如果调用WebService则添加web引用
如果调用WCF则添加服务引用
[/Quote]

up
  • 打赏
  • 举报
回复
你如果调用WebService则添加web引用
如果调用WCF则添加服务引用
zlb789 2010-07-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sunpire 的回复:]
如果你的项目中的复杂类型是 LINQ to SQL 或 ADO.NET Entity Framework 的实体,
“Web引用”、“服务引用”这两种方式用起来没有什么区别。

WCF 使用 DataContract 序列化复杂类型,而 WebService 则是 XmlSerializer ,只要为你的复杂类型指定 [DataContract](用于类型名) 和 [DataMember](……
[/Quote]
谢谢了, 我试下看看
zlb789 2010-07-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mayonglong 的回复:]
参考
http://social.microsoft.com/Forums/zh-CN/xmlwebserviceszhchs/thread/808d870b-49f1-47ac-b105-4beb580bcec6

(1)VS2005里提供的Add Web Reference(添加Web服务引用)的功能主要是添加Web Service引用。
(2)VS2008保留了Add Web Ref……
[/Quote]
这个我已经看过了, 我是想知道2则的根上的区别
Sunpire 2010-07-28
  • 打赏
  • 举报
回复
如果你的项目中的复杂类型是 LINQ to SQL 或 ADO.NET Entity Framework 的实体,
“Web引用”、“服务引用”这两种方式用起来没有什么区别。

WCF 使用 DataContract 序列化复杂类型,而 WebService 则是 XmlSerializer ,只要为你的复杂类型指定 [DataContract](用于类型名) 和 [DataMember](用于属性),重新生成并运行 WebService ,
然后在客户端就可以使用“添加服务引用”来生成代理类了。

推荐使用“服务引用”
mayonglong 2010-07-28
  • 打赏
  • 举报
回复
参考
http://social.microsoft.com/Forums/zh-CN/xmlwebserviceszhchs/thread/808d870b-49f1-47ac-b105-4beb580bcec6

(1)VS2005里提供的Add Web Reference(添加Web服务引用)的功能主要是添加Web Service引用。
(2)VS2008保留了Add Web Reference(添加Web服务引用)也是为了版本向前兼容。目前很多项目还是基于.NET Framework 2.0。
(3)VS2008在升级以后为了对.NET Framework 3.0 或 3.5版本上WCF Service Library的支持。增加了Add Service Reference(添加服务引用)功能。Framework3.0 或 3.5 时可用。

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧