什么是ASMX服务

时间:2009-10-13 17:52:44

标签: c# .net asp.net web-services asmx

我已经使用webservices超过2年了。关于Soap 1.2,WSDL,通信方式以及其他100项服务,我有很多话要说。

我看到人们谈论他们沉重的ASMX背景和网络服务专业化。但是,当涉及到实现时,除了添加Web引用并从C#调用一些方法之外,我找不到任何东西。所有我们谈论的事情(序列化,反序列化,肥皂,等等)都由微软内部负责。

所以我想知道在处理WebServices时我们是否需要做什么,还是还有其他什么呢?

改述:我知道ASMX的专家必须了解这些服务。

如果您能提供一些好的参考资料,材料或任何意见,我将不胜感激。

3 个答案:

答案 0 :(得分:3)

我认为你从实施者/工具的角度来看待这个问题;是的,Visual Studio做了很多繁重的工作,让开发人员觉得调用Web服务与调用任何方法一样 - 但开发人员盲目地使用这些工具而不知道生成什么代码以及它是如何工作的,如你所知,不是专家。

要说你是专家,我认为你需要能够谈论以下内容:

  • 在您的架构中使用服务的优点和缺点(性能考虑,版本控制问题,同步与异步等)
  • 您希望使用ASMX与WCF的原因
  • SOAP协议的内部实现,SOAP标头如何用于安全性等。
  • 了解“内部”,因此您可能会暴露服务以供非Microsoft客户端使用(Java等)
  • WSE的功能,包括不同的版本
  • 安全问题 - 如何保护对服务的访问,以及如何保护来回传输的数据

答案 1 :(得分:1)

如果您想自己是ASMX的专家,那么您需要了解SoapExtension类和相关的SoapExtensionAttribute。我觉得有必要理解SoapExtensionImporterSoapExtensionReflector

您还应该了解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- *以及所有那些被抽象出来的东西,他不应该感到惊讶。第一眼,但你必须在某个时候回来。