我已经使用webservices超过2年了。关于Soap 1.2,WSDL,通信方式以及其他100项服务,我有很多话要说。
我看到人们谈论他们沉重的ASMX背景和网络服务专业化。但是,当涉及到实现时,除了添加Web引用并从C#调用一些方法之外,我找不到任何东西。所有我们谈论的事情(序列化,反序列化,肥皂,等等)都由微软内部负责。
所以我想知道在处理WebServices时我们是否需要做什么,还是还有其他什么呢?
改述:我知道ASMX的专家必须了解这些服务。
如果您能提供一些好的参考资料,材料或任何意见,我将不胜感激。
答案 0 :(得分:3)
我认为你从实施者/工具的角度来看待这个问题;是的,Visual Studio做了很多繁重的工作,让开发人员觉得调用Web服务与调用任何方法一样 - 但开发人员盲目地使用这些工具而不知道生成什么代码以及它是如何工作的,如你所知,不是专家。
要说你是专家,我认为你需要能够谈论以下内容:
答案 1 :(得分:1)
如果您想自己是ASMX的专家,那么您需要了解SoapExtension
类和相关的SoapExtensionAttribute
。我觉得有必要理解SoapExtensionImporter
和SoapExtensionReflector
。
您还应该了解XML序列化,因为这是用于在ASMX服务中对象和SOAP之间进行序列化和反序列化的。
您还应该了解Microsoft现在认为ASMX Web服务是“遗留技术”(根据要求提供参考)。
答案 2 :(得分:0)
我想说,从Web服务的角度来看,只知道ASMX和/ WCF基础知识并不会让你成为专家。
确实所有的管道工作都得到了解决,但是你通常不得不在某个时刻回到它。将asmx连接到asmx,wcf连接到wcf,将axis2连接到axis2总是很容易......但是一旦你开始将它们连接在一起,就会出现问题。您是否曾使用过Web服务从事某个项目,在某些时候您遇到了生成的WSDL或生成的代理问题?
我想说,对于有人声称自己是asmx专家的人,如果你开始谈论soap 1.1和1.2,WS基本档案,WS- *以及所有那些被抽象出来的东西,他不应该感到惊讶。第一眼,但你必须在某个时候回来。