【问题标题】:How to embed 3rd party DLL on the client side of ASP.NET Forms application如何在 ASP.NET Forms 应用程序的客户端嵌入第 3 方 DLL
【发布时间】:2012-01-21 10:01:07
【问题描述】:

很抱歉在这里介绍了很长时间,但我想详细解释我的问题。

我们有一个来自我们的供应商之一的第 3 方 dll,可为他们的数据提供基于 Silverlight 的用户界面。

我们已经在两个不同的项目中使用了该 dll:

  1. IE 工具栏按钮,用于打开与网页上当前显示的数据相关的第 3 方数据的 UI 窗口(另一个 Web 应用程序)。
  2. 当用户按下特定组合键(再次从该应用程序传递参数)时从另一个 Windows 应用程序调用的 Windows 应用程序 (.exe)。

我们还有一个工作的 ASP.NET(表单)内部网应用程序(内部开发)。该应用程序的用户还希望该 DLL 提供的轻松访问。我需要一个解决方案来使它成为可能。

由于我们拥有企业控制环境,我们在用户的计算机上安装了 .NET Framework、Silverlight、工具栏和可执行文件,并且所有 Web 应用程序都在 IE 中运行。

到目前为止,我能够调用现有的 exe(我在 #2 中提到的)并将我的 asp.net 应用程序中的参数作为 ActiveX 传递(类似于这里 How to launch an EXE from Web page (asp.net) 中的描述)。它可以工作,但每次它都会给出标准弹出窗口“此页面上的 ActiveX 控件可能不安全......”。

我还尝试创建自己的 dll 来包装第 3 方 dll 并使用 <object> html 标记将其嵌入到我的 asp.net 页面中。它也可以工作,但每次都会显示相同的弹出窗口。

这是我的选择(按偏好顺序):

  1. 在我的 asp.net 应用程序的现有页面中嵌入由第 3 方 dll(可能包装在另一个 dll 中)提供的 UI(目前它会打开一个新窗口)。
  2. 使用参数调用可执行文件(就像我现在所做的那样),但不会弹出关于 ActiveX 安全性的恼人提示。
  3. 使用 <object> 标记嵌入 dll 作为富客户端自定义控件。

无论如何,我都不希望用户在每次访问 3rd 方应用程序时都看到弹出窗口。

有什么办法吗?

【问题讨论】:

    标签: asp.net web-applications


    【解决方案1】:

    如果对象标记代码在没有用户参与的情况下轻松运行,这将是一种病毒/恶意软件传递机制。

    一种方法是对 activex 对象进行签名,然后让您的所有机器都信任它,例如

    Sign an ActiveX control for intranet usage?

    【讨论】:

    • 谢谢,我看看能不能用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多