我应该怎么做才能使ASP.NET MVC应用程序可以通过USB端口与读卡器“对话”?它与桌面应用程序一起工作,我所做的就是将dll文件复制到bin / Debug文件夹中的文件夹中,并进行必要的DllImport移动,因为它很有可能是用C ++编写的。使用此桌面应用程序,我可以写入卡,读取卡,重置卡等。
我做了同样的事情[将dll复制到bin文件夹中,并完全引用其中一个控制器中的dll],但都无济于事。我意识到MVC应用程序在浏览器中运行,那么如何实现这种情况呢?我可以使用Web服务公开桌面应用程序的功能吗?我在这里粘贴了部分代码。
public class FrontDeskController : Controller
{
[SecurityPermission(SecurityAction.Assert, Unrestricted = true)]
[DllImport(@"C:\Users\charles\Documents\Visual Studio 2012\Projects\hotels\MvcXsoftHotelApp\bin\Debug\LevelLock.dll")]
private static extern short LV3_BeepOk(); // Sound of success
[SecurityPermission(SecurityAction.Assert, Unrestricted = true)]
[DllImport(@"C:\Users\charles\Documents\Visual Studio 2012\Projects\hotels\MvcXsoftHotelApp\bin\Debug\LevelLock.dll")]
private static extern short LV3_InitializeSystem(short LockType);
最后,我找到了答案。我确信StackOverflow出现在混合的某个地方。我现在无法引用该帖子或问题,但我拥有所有启用Silverlight的链接,这些链接在浏览器中运行但受信任特权。现在,Silverlight既可以在浏览器中运行,也可以访问客户端PC上的USB读卡器硬件。这里是链接
https://github.com/cureos/nativedll/blob/master/NativeDllInvoker/NativeDllHelper.cs
http://www.mistergoodcat.com/post/Silverlight-5-Tidbits-Trusted-applications
http://msdn.microsoft.com/zh-CN/library/gg192793(v=vs.96).aspx
http://technet.microsoft.com/zh-CN/library/cc730989(WS.10).aspx
至少maf748的回答使我朝着这个方向思考。感谢SO社区!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句