调用Dll适用于Windows应用程序但不适用于Web?

时间:2018-04-08 07:44:00

标签: c# asp.net winforms

我在下面的Windows应用程序.cs文件中使用下面的dll调用..

SBXPCDLL.cs文件:

[DllImport("SBXPCDLL.dll", CallingConvention = CallingConvention.Winapi)]
static extern byte _ConnectTcpip(Int32 dwMachineNumber, ref IntPtr lpszIPAddress, Int32 dwPortNumber, Int32 dwPassWord);

public static bool ConnectTcpip(Int32 dwMachineNumber, string lpszIPAddress, Int32 dwPortNumber, Int32 dwPassWord)
{
    if (lpszIPAddress == null)
        return false;

    IntPtr string_in = Marshal.StringToBSTR(lpszIPAddress);
    try
    {
        byte ret = _ConnectTcpip(dwMachineNumber, ref string_in, dwPortNumber, dwPassWord);
        return ret > 0;
    }
    catch (Exception)
    {
        return false;
    }
    finally
    {
        Marshal.FreeBSTR(string_in);
    }
}

窗口文件:

 if (SBXPCDLL.ConnectTcpip(Program.gMachineNumber, lpszIPAddress, Convert.ToInt32(txtPortNo.Text), Convert.ToInt32(txtPassword.Text)))
      {
//Connected
      }

我在asp.net中的web应用程序中使用的相同格式..它没有连接,但有时只连接一次......任何人都可以帮助我们..

0 个答案:

没有答案