在IIS上使用COM托管的应用程序

时间:2013-09-23 11:23:49

标签: c# asp.net iis com

我有一个ASP.NET SignalR项目,我用来在实时模式下显示Windows应用程序(让我们称之为工作者)进度到web。该应用程序也是一个COM服务器,我正在使用应用程序包中的* .dll文件来访问它。当我在调试模式下运行我的代码时,它的工作非常好:

  1. ASP.NET Web表单正在开始

  2. 我的工作人员申请正在开始

  3. 我可以在工作窗口和浏览器中看到工作进度。

  4. 如果在ASP.NET应用程序之前启动了worker,那么ASP.NET应用程序就是 连接到工作人员

  5. 现在,当我尝试在IIS 7上托管ASP.NET应用程序时,我的ASP.NET应用程序 - 工作者应用程序对表现得很奇怪:

    当我启动我的ASP.NET应用程序时,工作者应用程序也在启动,但我只能在任务管理器中看到它并且无法与它交互。如果我在ASP.NET应用程序之前启动我的工作程序,则正在创建另一个工作程序应用程序进程。

    我已将我的ASP.NET应用程序配置为模拟我的计算机管理员

    <identity impersonate="true" userName="admin" password="12345" />
    

    我也是IIS 7应用程序池Image

    我认为这是配置问题,因为相同的代码(我的意思是连接交互式COM应用程序)正在使用WinForms应用程序。 请任何人解释造成这种行为的原因以及解决方法! 提前谢谢!

1 个答案:

答案 0 :(得分:0)

这是预期的行为。即使有模拟,您的应用程序也将在IIS Web服务器用户上下文中运行。但这真的是问题吗?用户是否需要在桌面上与此应用程序进行交互?