mmand Handler functions是主函数ChttpServer类的成员函数,parse map通过get方法调用CHttpServer。下面则是Hello Web 的"缺省"指令处理
程序:
void CHelloWebExtension::Default(CHttpServerContext* pCtxt)
{
StartContent(pCtxt);
WriteTitle(pCtxt);
*pCtxt << _T("This default message was produced by the Internet");
*pCtxt << _T("Server DLL Wizard. Edit your CHelloWebExtension::Default()");
*pCtxt << _T("implementation to change it.\r\n");
EndContent(pCtxt);
}
当请求为空或包含"Default"这个函数被调用,请求通过ChttpServerContext进入
程序体,第一个参数必须是一个ChttpServerContext对象。StartContent()方法在pCtxt中放置<HTML><BODY>,WriteTitle()则是放置 <title>标记。下面 三行语句则写入缺省消息,并使pCtxt指向ChtmlStream,在ISA处理完成后发送到客户端。
Hello Web
第一个程序会以"HELLO WEB"替换缺省信息串。
找到CHelloWebExtension class 中的Default() 成员函数,按照下面的方式更改。
void CHelloWebExtension::Default(CHttpServerContext* pCtxt)
{
StartContent(pCtxt);
WriteTitle(pCtxt);
*pCtxt << _T("Hello Web!");
EndContent(pCtxt);
}
创建,运行DLL并从网络浏览器重新载入并替换DLL
缺省信息为:
produced by the InternetServer DLL Wizard. Edit
your CHelloWebExtension::Default() implementation to change it.
将会显示:
Hello Web!
如果出现"Server Error 500: Specified module not found."提示,您所创建的项目是动态连接,而且缺少必要的DLLs。纠正这个错误,就必须使用MFC重新静态的连接项目。