atlsrvweb.h

来自「Visual_C++.NET实用编程百例」· C头文件 代码 · 共 61 行

H
61
字号
// atlSrvWeb.h : 定义 ATL Server 请求处理程序类
//
#pragma once

namespace atlSrvWebService
{
// webservice 的所有 struct、enum 和 typedefs 应进入命名空间

// IatlSrvWebService - Web 服务接口声明
//
[
	uuid("4E840800-2F9A-4B50-B4F3-56DD3F004FCF"), 
	object
]
__interface IatlSrvWebService
{
	// HelloWorld 是一个示例 ATL Server Web 服务方法。它显示如何
	// 声明 Web 服务方法及其 in 参数和 out 参数
	[id(1)] HRESULT HelloWorld([in] BSTR bstrInput, [out, retval] BSTR *bstrOutput);
	// TODO: 在此添加其他 Web 服务方法
	[id(2)] HRESULT MyMethod([in] double dNum, [out, retval] double *dSquar);
};


// atlSrvWebService - Web 服务实现
//
[
	request_handler(name="Default", sdl="GenatlSrvWebWSDL"),
	soap_handler(
		name="atlSrvWebService", 
		namespace="urn:atlSrvWebService",
		protocol="soap"
	)
]
class CatlSrvWebService :
	public IatlSrvWebService
{
public:
	// 这是一个示例 Web 服务方法,它显示如何使用
	// soap_method 属性将方法公开为 Web 方法
	[ soap_method ]
	HRESULT HelloWorld(/*[in]*/ BSTR bstrInput, /*[out, retval]*/ BSTR *bstrOutput)
	{
		CComBSTR bstrOut(L"Hello ");
		bstrOut += bstrInput;
		bstrOut += L"!";
		*bstrOutput = bstrOut.Detach();
		
		return S_OK;
	}
	// TODO: 在此添加其他 Web 服务方法
	[ soap_method ]
	HRESULT MyMethod(/*[in]*/ double dNum, /*[out, retval]*/ double *dSqual)
	{
		*dSqual = dNum*dNum;
		return S_OK;
	}
}; // 类 CatlSrvWebService

} // 命名空间 atlSrvWebService

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?