【问题标题】:How can I access a client side dll from a server side application?如何从服务器端应用程序访问客户端 dll?
【发布时间】:2013-12-03 17:51:41
【问题描述】:

在我目前的项目中,我们正在尝试将读卡器集成到 网站。问题是我们必须拥有 Windows 服务 坐在客户端机器上以便读卡器工作。

网站的目的是让客户通过扫描卡 读卡器并将信息发送到数据库 通过网络服务。信息保存到数据库后 然后可以在网站上检索并显示它。

我的问题是 如何从 asp 页面访问我编写的 .dll 坐在服务器上。我知道我可以使用 ActiveX,但我正在尝试 以允许我使用网页的方式访问 .dll 尽可能多的浏览器。

我正在考虑使用silverlight 来尝试访问该dll。 .dll 在 问题是我写的并且正在尝试访问的问题。我也看过 在尝试 DLLImport 但我无法让它工作。我目前正在使用 .NET 4.0 并且正在用 C# 编写。

【问题讨论】:

  • 哦。好的。从网站下载 dll 并执行它。这就是为什么 ActiveX 一开始是一个如此愚蠢的想法的原因。 “interwebz 上没有人是讨厌的。让我们相信一切!”。
  • @MarcB 确实如此——这也是为什么网络应用不能解决所有问题!
  • 我建议您的解决方案存在缺陷。客户端需要一个正确安装的应用程序,该应用程序可以访问读卡器并通过 REST/SOAP 或其他方式与服务器通信。允许服务器提供可以访问安装在客户端上的 dll 的代码不仅会带来巨大的安全风险,还会带来架构灾难。
  • @DavidArno,在所有方面都同意 - 但也可能会添加 REST api(vomits at SOAP ;))需要通过 HTTPS。
  • 你真的需要一个更好的规范。这个解决方案听起来不对!

标签: c# asp.net visual-studio-2010 dll .net-4.0


【解决方案1】:

如果您的客户正在读取智能卡,最好使用built-in windows features to use a smartcard to authenticate to IIS on the remote computer。如果您尝试从智能卡中读取任何其他内容,那么通常最好为客户端提供一个将自身注册为安全设备的普通安装程序,浏览器具有与此类设备通信的内置功能。我们当地的银行 ABN AMRO 使用这种由Todos AB 出售的设备,并附带以这种方式工作的驱动程序。

如果您想对智能卡做任何其他事情(除了读取证书或安全令牌之外的任何事情,您可能别无选择,只能向用户提供我个人会始终拒绝的下载。

【讨论】:

  • 我可能记错了(输入?)这是一个读卡器,它正在扫描驾驶执照等卡片并将信息存储到数据库中。这用于帮助确保许可证以及任何其他相关信息是有效的。我一直在做更多的研究,似乎 Silverlight 可能是与这个项目合作的方式
猜你喜欢
  • 1970-01-01
  • 2012-04-28
  • 2016-01-03
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-16
  • 1970-01-01
相关资源
最近更新 更多