在Visual Studio?的下一版本--Visual Studio .NET中将为C++程序员包含一个名为ATL服务器的应用程序......
在Visual Studio?的下一版本--Visual Studio .NET中将为C++程序员包含一个名为ATL服务器的应用程序,此应用程序极大地简化了高性能可扩展的Web应用程序的开发。ATL服务器提供了一组类,这些类扩展了活动模板库(ATL),可以通过ISAPI访问IIS的所有功能。ATL服务器提供的类使开发人员能很容易地处理如缓冲、线程-池和会话状态之类的问题。通过使模板库成为轻量级、可扩展的,并利用ATL的"只为需要的东西付出劳动"模型,它使开发人员能在很短的时间内获得ISAPI高度的性能。对ATL服务器更全面的信息,请阅读文章:ATL 服务器: 用Visual C++创建高性能的Web 应用程序。
ATL服务器结构一个重要的部分是它非常适合于高效处理XML Web 服务请求。因为此模板库扩展到了支持XML Web服务,这样就使企业能够快速而有效的将企业逻辑作为XML Web服务暴露。使用Disco文件,ATL 服务器 Web服务容易通过SOAP/XML协议发布和定位。ATL服务器Web服务通过HTTP协议能被运行在任何平台上的任何语言调用。这将编程能力通过防火墙扩展到了远程客户端。
在ATL中创建XML Web服务 选中ATL服务器应用程序向导中的"作为Web服务创建"复选框(在"应用程序选项"中)者使用"ATL 服务器Web服务工程"向导,就可以在ATL服务器中创建XML Web服务。(注意,"ATL 服务器Web服务工程"向导运行"ATL服务器工程"向导,只是"作为Web服务创建"复选框默认是选中的。)

图 1. ATL 服务器 Wizard 复选框
"作为Web服务创建"复选框生成标准的带名为"HelloWorld"的默认XML Web服务的ATL 服务器应用程序。HelloWorld函数演示了如何创建基本的ATL 服务器Web服务。
我们需要实现这个接口的类。这个类必须实现已经编写了的接口的方法。将通过两个属性标记XML Web服务。第一个,[ soap_handler],放在类中,指示属性提供者(负责提供代码的应用程序,这些代码将作为属性的替代物插入)这个类将处理SOAP请求。第二个,[ soap_method ],用于标记作为XML Web服务暴露的的方法,并指示属性提供者此方法将用于接收和发送SOAP消息(即,我们需要对此方法进行解码与编码的输入与输出。
你可以构建并部署向导创建的XML Web服务,但除非你拥有XML Web服务客户,否则你不能使用此服务。