【问题标题】:How to call a windows form app from ASP.net如何从 ASP.net 调用 Windows 窗体应用程序
【发布时间】:2012-05-14 10:25:04
【问题描述】:

我正在尝试使用 activeX 从我的 ASP.net 网站启动一个用 C# 编写的 Windows 窗体应用程序。当我单击一个按钮时,我希望打开一个新页面,该页面上的 activeX 将调用我的 Windows 应用程序。

我正在使用 Visual Studio 2010。我已按照本教程进行操作:http://dotnetslackers.com/articles/csharp/WritingAnActiveXControlInCSharp.aspx

但是,该教程仅适用于您通过控制台编译的 1 个 C# 文件。

我的问题如下:

1.如何编译整个 windows 窗体项目以使用 /t:library 和 regasm?

2.我已经按照这个问题的答案来修改我的 Windows 窗体应用程序:How do I create an ActiveX control (COM) in C#?。但是,就像在这两个示例中一样,它们没有 Main 方法。当我尝试修改我的 Windows 窗体应用程序的代码时,如果我将其取出并用 Launch() 方法替换它,我会收到错误消息,指出程序没有用于进入的 Main 方法。我确定我错过了什么?

3.我是否只需要在新的.aspx 页面上编写java 脚本来访问应用程序?

附:我正在尝试打开这个开源 Windows 窗体应用程序:http://www.codeproject.com/Articles/239849/Multiple-face-detection-and-recognition-in-real-ti

谢谢你

【问题讨论】:

    标签: asp.net .net winforms com activex


    【解决方案1】:

    你不能那样做。允许网站在某些沙盒环境(例如 JavaScript)之外的本地机器上执行任意代码将是巨大的安全风险。

    AFAIK 最接近您想要的东西是ClickOnce,它是一个安装程序,并使用它在客户端计算机上安装您的 WinForms 应用程序。项目安装很简单,在VS中右键发布即可。

    【讨论】:

    • 我相信这就是 OP 提到他们试图使用 ActiveX 的原因。
    • 据我了解的问题是如何使用 ActiveX 打开 win forms 应用程序,他不能这样做
    • 是的,我想通过我的 asp.net 网站打开 win 表单应用程序(我提供的链接中的开源)。在第一个链接(教程)中,他们使用 activex 控件打开他们的 c# 代码。但我不知道如何使用类似的东西来打开 Windows 窗体应用程序。我注意到您提到这是一个巨大的安全风险。但是,这个项目是针对学校的一个班级的。安全风险不是这个类的问题。
    • 好吧,你可以尝试制作 ActiveX 控件,该控件将复制该 winforms 应用程序的功能,但这仅适用于 IE,并且默认设置中未启用 ActiveX 控件
    • 我真的不明白我会怎么做。我所知道的关于 ActiveX 的只是该教程介绍的内容
    【解决方案2】:

    您可以使用一种称为 ClickOnce 的解决方案。

    http://msdn.microsoft.com/en-us/library/t71a733d%28v=vs.100%29.aspx

    我创建了企业应用程序,将其部署到可访问 Internet 的位置,并将我的用户链接到“发布”网站,允许他们单击、安装和运行应用程序。

    请记住,除了运行应用程序之外,它还会安装应用程序,因此如果您的部分要求是不安装它,那么 ClickOnce 将不适用于您的方案。

    【讨论】:

    • 不幸的是,我需要表单是交互式的(一旦程序识别出一张脸,它就会登录该用户)。
    【解决方案3】:

    我建议您可以创建 ActiveX 控件而不是 Windows 窗体。您可以使用旧版 VB (VB 6.0) 创建它。你可以参考类似的东西

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-22
      • 1970-01-01
      • 2013-04-21
      • 2018-01-05
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      • 2011-06-05
      相关资源
      最近更新 更多