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