【问题标题】:Window application called from web page not able to set start up application从网页调用的窗口应用程序无法设置启动应用程序
【发布时间】:2013-04-11 08:16:35
【问题描述】:

我正在开发一个 Windows 窗体应用程序。 我还开发了一个 ASP Web 应用程序。 从这个 web 应用程序我需要调用那个 windows 应用程序。 并且windows应用设置启动应用。

当我从 aspx 页面调用这个 exe 时,它​​在设置启动应用程序时出现错误。

错误

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)

请注意,每当我手动执行 exe(双击 exe)时,它都可以正常工作。 谁能告诉我在这种情况下该怎么办。

【问题讨论】:

  • 我可以从网页调用那个 exe。我的问题是我无法从 web 表单调用的 windows 应用程序设置启动应用程序。但是当我双击那个有效的 exe 时正确的。

标签: c# asp.net process windows-applications


【解决方案1】:

这破坏了基本的网络安全。

exe在哪里?在您尝试通过网页访问的客户端计算机上?还是exe服务器端?在这种情况下,为什么在没有人看到 GUI 的情况下它是一个 Windows 窗体应用程序?

Windows 窗体应用程序的用途是什么?如果该功能面向消费者,或者如果它是服务器端以其他方式处理,则该功能需要封装在网页中。

如果客户端上安装了 exe ,并且您尝试从网页打开它,我可以看到您这样做的唯一方法是下载带有扩展名的文件默认情况下由您的 Windows 窗体应用程序打开以进行进一步处理等。

【讨论】:

  • 没有那个 exe 在服务器上。并且那个 exe 将 default.aspx 页面注册为启动应用程序。它会在注册该文件时出错。
  • Ashish,您可能需要重新考虑架构。
  • 我正在开发一个自动备份实用程序,我在 global.ashx 文件中使用 CacheItemRemovedCallback 事件。我需要一个虚拟 URL 来调用每个已删除的缓存项。为此我需要注册我的 aspx 页面在启动时。而且我不需要任何额外的工作(手动工作)来设置启动。
  • 您可以使用 Process.Start 调用启动 Windows 窗体,但是您将如何检查它是否已完成或退出 Windows 窗体?您可能希望将其转换为完成后自然存在的简单控制台应用程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
  • 1970-01-01
  • 1970-01-01
  • 2010-09-14
相关资源
最近更新 更多