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

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

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

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


谢谢!
...全文
136 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
加入

2.8w+

社区成员

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