VS2015 VC ++ Win32应用程序无法通过IIS
工作我正在尝试将传统的ISAPI应用程序从VS2003转换为VS2015。但是,我希望在转换整个应用程序之前运行一个简单的应用程序。
以下是我遵循的步骤:
第1步:
创建一个新的VisualC ++ Win32项目'Web1'
第2步:
将以下代码添加到Web1.cpp
#include "stdafx.h"
#include <HttpExt.h>
BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO* pVer)
{
pVer->dwExtensionVersion = HSE_VERSION;
return TRUE;
}
BOOL WINAPI TerminateExtension(DWORD dwFlags)
{
return TRUE;
}
DWORD WINAPI HttpExtensionProc(EXTENSION_CONTROL_BLOCK *pECB) {
char *header =
"<html>"
"<head>"
"<title>Hello from Web1</title>"
"</head>"
"<body>"
"<h1>Hello from Web1</h1>";
DWORD size = static_cast< DWORD >(strlen(header));
pECB->WriteClient(pECB->ConnID, header, &size, 0);
char *intro = "<p>Your name is: ";
size = static_cast< DWORD >(strlen(intro));
pECB->WriteClient(pECB->ConnID, intro, &size, 0);
size = static_cast< DWORD >(
strlen(pECB->lpszQueryString));
pECB->WriteClient(pECB->ConnID, pECB->lpszQueryString,
&size, 0);
char *footer =
"</p>"
"</body>"
"</html>";
size = static_cast< DWORD >(strlen(footer));
pECB->WriteClient(pECB->ConnID, footer, &size, 0);
return HSE_STATUS_SUCCESS;
}
第3步:
创建Web1.def文件和GetExtensionVersion,TerminateExtension和HttpExtensionProc
第4步:
将':\ windows \ system32 \ inetsrv \ w3wp.exe'设置为项目的debuging命令,并将'-debug'设置为命令参数。
第5步:
在IIS中创建一个指向具有构建输出的目录的虚拟目录。
当我在调试模式下启动应用程序后通过浏览器触发请求时,我看到的只有500响应,输出中包含以下内容:
'w3wp.exe' (Win32): Loaded 'C:\Win32Project1\Win32Project1.dll'. Symbols loaded.
'w3wp.exe' (Win32): Unloaded 'C:\Win32Project1\Win32Project1.dll'
我错过了任何明显的步骤或做错了吗?非常感谢任何帮助/见解。