问题:
和第三方应用对接,对方提供了32位的c编写的dll,通过动态加载非托管dll的方式调用dll里面的方法,在程序中直接运行是可以的,但是部署到iis中出错,程序出现假死现象。iis服务器是64位的。
目前处理措施:
参照引用32位c# dll的方式,将iis应用程序池-启用32位应用程序设置为true,结果不起作用。
还有其他的处理方式吗?
这个问题有些复杂,如下是几个线索
1 单独的WEB程序【不调用32DLL】在32位模式下行吗?
2 1可以的话,可以验证32DLL在独立的执行文件中这个机器上运行是否可以?
3 如上都可以的话,检查32DLL是否需要特别的权限,IIS运行用户的权限比较低
过程中可以查看windows的事件日志,报错信息可以参考
1、第一点是可以的;2、Web程序直接在VS中直接运行是可以的,但是部署到iis中就不行,dll文件给了所有人权限。