form调用C++写的dll正常,asp.net调用出错(dll会访问一些外部文件,有代码示例)
大家好,有个c++ 写的dll在form中调用正常,一摸一样的代码到asp.net中就不行了,dll会访问外部文件,被访问的文件我权限都给了,还是不行。
我把dll包在windows service中间也还是不行。
想请假大家一下,form中执行外部dll是不是有什么特殊的权限?
我已经尝试了网络上能够搜索到的所有方法
权限改过了,还是不行
模拟也试过,也不行,windows service也试过,同样不行。
代码如下:
[DllImport( "SOFINDLL.dll ", EntryPoint = "Go ", CharSet = CharSet.Ansi)]
private static extern int ExpertECG(float RRI, float VarRRI, float LnVLF, float LnLF, float LnHF, float LnLH, float NLF, float NHF, float age, float gender, ref float bioAge);
调用的是SOFINDLL.dll,另外SOFINDLL.dll还会调用同一目录下model文件夹下的一些文件
排除SOFINDLL.dll路径不对的问题。
同样还有一个
[DllImport( "ECGDLL.dll ", EntryPoint = "ECG_PROCESS ", CharSet = CharSet.Ansi)]
private static extern int AnalizeECG(char[] filePath,ref float RRI,ref float VarRRI,ref float LnVLF,ref float LnLF,ref float LnHF,ref float LnLH,ref float NLF,ref float NHF,ref float Ar,ref float As,ref float At,ref float Au,ref float Ast,ref float Trt,ref float Tru,ref float Trs,ref float Ttu,ref float Tpr,ref float sdAr,ref float sdAs,ref float sdAt,ref float sdAu,ref float sdAst,ref float sdTrt,ref float sdTru,ref float sdTrs,ref float sdTtu,ref float sdTpr);
这个dll是单独工作的,不会访问外部文件,就没有任何问题。
很是郁闷
[解决办法]
楼主的问题
现在能想到的
可能是IIS6安全配置过高的问题
可以设置IIS6 -> 网站 -> 属性 -> 服务 -> 以IIS5隔离模式运行
并使用之前的那些方法试试
如果这个可以的话
算是个临时的解决方案
[解决办法]
关注一小下
[解决办法]
http://support.microsoft.com/kb/890960