怎么写dll才能让它直接在IIS上可以运行

tp3 2004-08-04 09:47:39
将IIS里的运行权限改为脚本与程序就可以直接运行dll文件
不知道这样的dll应该怎么写?

不是写成组件用asp调用的形式
而是直接支运行dll文件

路径类似与
http://www.test.com/test.dll
然后用参数来控制


谢谢!
...全文
133 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
aoeiuvcom 2004-08-06
Delphi里的“ISAPI/NSAPI”

就是生产这样的DLL
回复
zcm123 2004-08-06
up
回复
longhuazhen 2004-08-06
要用开发工具(如:c++、delphi等)把程序编译成dll形式。
在dll中导出两个函数,函数原形如下:
function GetExtensionVersion(var Ver: THSE_VERSION_INFO): boolean; stdcall;
function HttpExtensionProc(var ECB: TEXTENSION_CONTROL_BLOCK): DWORD; stdcall;

参数类型定义如下:
type
THSE_VERSION_INFO = packed record
dwExtensionVersion: DWORD;
lpszExtensionDesc: array [0..HSE_MAX_EXT_DLL_NAME_LEN-1] of Char;
end;

type
TEXTENSION_CONTROL_BLOCK = packed record
cbSize: DWORD; // 结构大小
dwVersion: DWORD; // Version info of this spec
ConnID: HCONN; // Context number not to be modified!
dwHttpStatusCode: DWORD; // HTTP Status code
lpszLogData: array [0..HSE_LOG_BUFFER_LEN-1] of Char; // DLL specific log information
lpszMethod: PChar; // REQUEST_METHOD
lpszQueryString: PChar; // QUERY_STRING
lpszPathInfo: PChar; // PATH_INFO
lpszPathTranslated: PChar; // PATH_TRANSLATED
cbTotalBytes: DWORD; //Total bytes from client
cbAvailable: DWORD; // Available number of bytes
lpbData: Pointer; // pointer to cbAvailable bytes
lpszContentType: PChar; // Content type of client data
GetServerVariable: TGetServerVariableProc; //取得服务器变量函数
WriteClient: TWriteClientProc; //输出函数
ReadClient: TReadClientProc; //读post参数函数(大于49KB部分)
ServerSupportFunction: TServerSupportFunctionProc;
end;

所有的http请求都在函数HttpExtensionProc中处理,通过ECB和web服务器通信。

回复
tp3 2004-08-06
兄弟们
能不能具体讲一下
谢谢了
回复
mingday 2004-08-04
可以吧,做个ISAPI之类的东东
回复
Jetwong 2004-08-04
我也想知道,顶一下!!
回复
qiyangaoying 2004-08-04
好象不可以
回复
alan521 2004-08-04
可以,但要在IIS上设置DLL指向
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-08-04 09:47
社区公告
暂无公告