【问题标题】:Calling windows application exe within web service method在 Web 服务方法中调用 Windows 应用程序 exe
【发布时间】:2017-01-12 11:33:45
【问题描述】:

我有 1 个 Web 应用程序、1 个 Web 服务和 1 个 Windows 应用程序,我正在从 Web 应用程序调用 Web 服务方法,在该方法中我正在调用 Windows 应用程序 exe。我已将 Windows 应用程序 exe 放在服务器机器上,并将该 Web 服务托管在服务器机器上。如果我的 web 服务托管在本地 iis 上,那么它可以工作,如果它在服务器 IIS 上,那么它会给我超时错误

【问题讨论】:

  • 您能否更好地解释您遇到的问题是什么?
  • 我在 Web 应用程序中调用了一个 Web 服务方法。在那种方法中,我已经执行了 exe。该 exe 仅当 Web 服务托管在本地 IIS 上时才有效,并且当 Web 服务托管在服务器 IIS 上时出现超时错误

标签: asp.net windows web-services wcf


【解决方案1】:

Web 服务在 Web 服务器上的 ASP.NET 工作进程的上下文中执行。如果您在 ASP.NET 网页或服务器控件中使用 Process.Start 方法,则新进程将在具有受限权限的 Web 服务器上执行。

Give permission 用于 ASP.NET 工作进程帐户与桌面交互或允许 ASP.NET 工作进程在 SYSTEM 帐户中运行。

  1. 打开控制面板并执行以下步骤: 对于 Windows NT:单击服务。对于 Windows 2000、Windows XP 和 .NET Server:单击管理工具,然后单击服务。
  2. 双击 IIS 管理服务。
  3. 在“登录”选项卡上,选中“允许服务与桌面交互”复选框。请记住将 IIS Admin Service 作为本地系统运行。
  4. 停止并重新启动 IIS 管理服务。

【讨论】:

  • 目前我正在使用 SecuGen 指纹设备,但我只有基于 Windows 的 dll (SecuGen.FDxSDKPro.Windows),所以我不能在 Web 应用程序上使用该 dll。请建议我如何在 Web 应用程序上使用 secuGen 设备。
  • 很可能,您无法避免使用 ActiveX,因为出于明显的安全原因:Web 应用程序无法访问客户端系统,并且指纹读取不是 W3 标准的一部分
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
  • 1970-01-01
  • 2018-02-03
  • 1970-01-01
相关资源
最近更新 更多