我正在开发一个使用 ISAPI dll 文件/Web 服务生成文件的项目。我以前使用硬编码的位置来存储文件的位置,效果很好,我现在尝试将它与存储在指定文本文件中的位置交换。
我遇到的问题是,它似乎将 IIS 工作进程 'C:\Windows\SysWOW64\inetsrv' 的当前路径附加到我存储在文本文件中的位置信息的开头。我不确定这是否取决于我的代码或 IIS 7 服务器设置?谁能指出我正确的方向?
非常感谢。
我正在开发一个使用 ISAPI dll 文件/Web 服务生成文件的项目。我以前使用硬编码的位置来存储文件的位置,效果很好,我现在尝试将它与存储在指定文本文件中的位置交换。
我遇到的问题是,它似乎将 IIS 工作进程 'C:\Windows\SysWOW64\inetsrv' 的当前路径附加到我存储在文本文件中的位置信息的开头。我不确定这是否取决于我的代码或 IIS 7 服务器设置?谁能指出我正确的方向?
非常感谢。
我认为你必须在MSDN中使用 SetDllDirectory
调用 SetDllDirectory 后,标准 DLL 搜索路径为:
这不是一个直接的答案,但可能会让您朝着正确的方向前进。在http://xxm.sf.net/项目上工作,我发现您可以从 ISAPI dll中设置当前目录(用于进程)。看来inetinfo.exe/dllhost.exe/w3wp.exe(或IIS用来调用您的ISAPI的任何其他进程)并不介意并继续正常运行。