当前位置:编程学习 > C#/ASP.NET >>

asp.net 调用了DLL库,在*.aspx.cs 指定调用位置,用IIS 发布到服务器上出现问题

先上代码

 [DllImport("D:\\libukey.dll")]
    public extern static int UKeyOpen(byte pinType, byte[] pin, ref int times);
    [DllImport("D:\\libukey.dll")]
    public extern static int UKeyWriteAuth(byte[] anth, int anthLen);

这个是调用声明,写到了test.aspx.cs里面。这个libukey.dll 里面封装了对UKEY(硬件,插到客户端计算机上的)进行访问的函数,

 byte[] pin1 = {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80};
                rv = UKeyOpen(1, pin1, ref t);
                if (rv!=0)
                {
                    Label8.Text ="打开设备失败,错误号"+rv;
                }
                else
                {
                    rv = UKeyWriteAuth(recvBytes, recvBytes.Length);
                    if (rv != 0)
                    {
                         Label8.Text ="购买失败,错误号" + rv;
                    }
                    else
                         Label8.Text ="购买成功,感谢您的使用";
                }
调用过程。

将该网页通过IIS 发布,(期间解决了很多问题)。
然后我到局域网里的另一台机器上访问 192.168.0.131服务器地址。 可以正常访问网页,但是在点击确定后执行到
rv = UKeyOpen(1, pin1, ref t);
返回值是错误号,这台机器上在D:\\存放了要调用的DLL 文件.

我初步分析,命令是发到客户端了,但是在调用时发生了问题。希望有高人可以为我解决下这个问题,开始我是用ActiveX 写了一个插件,在本地发布也是没问题,放到局域网就出问题,需要购买证书。。可恶 = =

这个方式是绕过去的想法。。。目前坑到这里了。。。。 --------------------编程问答-------------------- 你这是服务器端代码,需要放在服务器上
另外,asp。net程序默认是以匿名账户运行的,权限不足,dll需要放到web目录下。

如果放到非Web目录下,可能需要提升权限 --------------------编程问答-------------------- 我这是个客户端的代码......服务器还有另外一个软件...
就是说..客户端要实现功能也要调用DLL ,而这个DLL 是要下载客户的计算机上.然后客户在访问网页的时候去调用下载的DLL 来实现访问UKEY 的功能..不知道这样行不行的通...
思路有点乱哈 --------------------编程问答-------------------- asp.net 调用了DLL库?

asp.net在客户端运行?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,