Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.Net自定义dll在Win 7上工作,但在Win Server 2008上不工作_Asp.net_Dll_Windows 7_Windows Server 2008_Dllimport - Fatal编程技术网

ASP.Net自定义dll在Win 7上工作,但在Win Server 2008上不工作

ASP.Net自定义dll在Win 7上工作,但在Win Server 2008上不工作,asp.net,dll,windows-7,windows-server-2008,dllimport,Asp.net,Dll,Windows 7,Windows Server 2008,Dllimport,我正在开发一个新的工作项目,它使用一个旧项目中的旧dll文件来加密密码。将字符串传递给函数,函数返回加密字符串 现在,当我在Win7机器上本地测试它时,它工作正常,但当我将它放在WinServer2008上时,它不工作。起初,它给出了一个错误,因为它试图在64位上使用32位,但我刚刚在IIS应用程序池中将“启用32位应用程序”设置为true,它停止了并给出了一个错误,但现在当它到达必须返回加密字符串的行时,它只是坐在那里,直到超时:“连接已重置”。但没有死亡的黄屏 我使用了一个程序“depend

我正在开发一个新的工作项目,它使用一个旧项目中的旧dll文件来加密密码。将字符串传递给函数,函数返回加密字符串

现在,当我在Win7机器上本地测试它时,它工作正常,但当我将它放在WinServer2008上时,它不工作。起初,它给出了一个错误,因为它试图在64位上使用32位,但我刚刚在IIS应用程序池中将“启用32位应用程序”设置为true,它停止了并给出了一个错误,但现在当它到达必须返回加密字符串的行时,它只是坐在那里,直到超时:“连接已重置”。但没有死亡的黄屏

我使用了一个程序“dependency walker”来查看dll使用了什么,从那里我可以看到我引用了Kerner32.dll,它使用了KernerBase.dll(这个kernelBase.dll存在于我的Win 7机器上,但不在Win服务器上)。以防万一,在重建旧项目后,我试图从dll返回一些静态字符串,如“error”,但什么也没有返回。仍然超时,而且似乎它甚至没有转到我用来加密字符串的函数


我用这个

[DllImport("MD5CriptUnix.dll")]
public static extern string md5_crypt(string pass, string salt);

…导入dll并使用它,它再次在我的机器上工作,我认为它在服务器上工作,因为没有显示错误

您有权访问2008服务器以跟踪、查看日志、逐步调试您的应用程序吗?您的2008服务器是否配置为提供详细错误?我知道我离题了,但如果您的dll使用md5哈希,顾名思义,它已经过时了。md5不再是一个安全的哈希解决方案。我确实有访问权限,但在视图日志中没有看到任何奇怪的东西,在执行dll时可能会例外。。故障应用程序w3wp.exe,版本7.0.6002.18005,时间戳0x49e023cf,故障模块ntdll.dll,版本6.0.6002.18327,时间戳0x4cb7341c,异常代码0xc0000374,故障偏移量0x000abdcb,进程id 0xfc4,应用程序启动时间0x01cda2e1fba3420a。这个ntdll.dll根据“依赖项遍历器”在kernel32.dll中与kernelBase.dll一起用于调试。。我真的不知道如何调试这个。我故意使用md5。。不幸的是,我没有选择……我想你的问题就在这里“0xc0000374”,但我从来没有调试过这样的错误。对于调试dll加载和内存泄漏等问题,有好几次都是非常有价值的来源。但每次都花了我很多时间。我希望这会有帮助(一点)