IIS Web服务调用需要访问unix文件共享的COM dll

时间:2009-04-14 14:35:10

标签: web-services iis unix com

我们有一个使用COM与某些DLL通信的Web服务。 DLL函数所依赖的数据文件位于unix共享上,我们必须在初始化COM调用时指定数据文件位置。我们在Windows Server 2003服务器上安装了SFU 3.5。我们无法使用映射驱动器,因为IIS作为服务运行(或者我们可以吗?)。使用UNC似乎也不起作用:作为登录用户,它在您第一次进入该位置时失败,然后工作。我不知道如何从IIS角度测试它,因为我们从DLL获得的是“无效的数据文件位置”错误。 unix共享已打开[无需用户/密码]。

问题可能不在于IIS,而是DLL必须访问UNC或映射驱动器?毕竟,实际访问数据文件的是DLL,而不是IIS或Web服务可执行文件。

我对COM,DCOM,COM +知之甚少。拉起组件服务,我找不到我们正在使用的COM对象。 [但我可以在“自动化对象”下使用MS OLEVIEW找到它们。

我有什么选择?

1 个答案:

答案 0 :(得分:0)

将Web服务加载到在ASPNET用户下运行的aspnet_wp.exe进程中。您可以附加到此过程并进行调试,只要您拥有源代码并使用调试信息(生成.pdb文件)编译代码。

如果他们有适当的访问限制,您应该可以使用UNC文件共享。由于Web服务是在本地用户下运行的,因此您可能在文件服务器上具有访问限制的困难时间,因为它不知道如何验证凭据。在这种情况下,您可以创建一个COM +应用程序来托管您的COM组件,并在一个单独的帐户下运行它。