从ASP.NET Web服务调用C DLL

时间:2012-02-16 08:02:41

标签: c# asp.net iis dll pinvoke

编辑问题

嗨,这是该项目的总工作流程

我们有一个用cobol编写的应用程序,我们只能使用C DLL与该应用程序通信,我们必须在dll中调用的方法如下所示

[DllImport(@"C:\CCExpert\haz450cp.dll", EntryPoint = "HAZ450CP", CallingConvention = CallingConvention.Cdecl)]
    unsafe public static extern void HAZ450CP(ref p45_control p45_controlx, out p45_clreturn p45_clreturnx, ref p45_clclaim p45_clclaimx);

我们所做的是从C dll调用C# DLL,这个C# dll可以正常使用控制台应用程序,这意味着我们可以给它输入并且我们正在得到适当的输出也来自控制台应用程序。

但是当我尝试从C#DLL给出错误的同一ASP.NET WebServiceError 1

选择调试选项后,我得到另一个窗口,如fallowing

enter image description here

谢谢

1 个答案:

答案 0 :(得分:1)

我知道这可能听起来有点愚蠢,但是你的asp.net用户可以从DLL所在的目录中读取内容吗?

您可以通过将DLL复制到Web应用程序文件夹的bin目录并将DLL路径从C:\ CCExpert \ haz450cp.DLL更改为haz450cp.DLL来执行此测试