2017-01-12 77 views
-1

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

+0

请问你能解释一下你有什么问题吗? – pringi

+0

我已经在Web应用程序中调用了Web服务方法。在那个方法我已经执行exe。该exe文件仅在Web服务托管在本地IIS上时发挥作用,并且在服务器上托管Web服务时给我超时错误IIS –

回答

1

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 Admin Service。
+0

谢谢!阿列克谢....其工作现在... :) –

+0

目前我正在SecuGen指纹设备上工作,但我有基于Windows的dll(SecuGen.FDxSDKPro.Windows),所以我不能使用该Web应用程序的dll。请建议我如何在Web应用程序上使用secuGen设备。 –

+0

很可能,您无法避免使用ActiveX,因为出于明显的安全原因:Web应用程序无法访问客户端系统,并且指纹读取不是W3标准 –

相关问题