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

本文关键字:应用程序 COM IIS | 更新日期: 2023-09-27 18:32:35

我有一个 ASP.NET SignalR 项目,我用它来显示 Windows 应用程序(我们称之为 worker(在实时模式下向 Web 的进展。该应用程序也是一个 COM 服务器,我正在使用应用程序捆绑包中的 *.dll 文件访问它。当我在调试模式下运行我的代码时,它工作得很好:

  1. ASP.NET Web 表单正在启动

  2. 我的工作器应用程序正在启动

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

  4. 如果 worker 在应用之前启动 ASP.NET 则 ASP.NET 应用程序是连接到辅助角色

现在,当我尝试在 IIS 7 上承载 ASP.NET 应用程序时,我的 ASP.NET 应用程序 - 辅助角色应用程序对的行为很奇怪:

当我启动 ASP.NET 应用程序时,辅助角色应用程序也在启动,但我只能在任务管理器中看到它,无法与之交互。如果我在应用之前启动辅助角色 ASP.NET 则会创建另一个辅助角色应用进程。

我已将我的 ASP.NET 应用配置为冒充计算机管理员

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

我也是对 IIS 7 应用程序池映像

我想这是配置问题,因为相同的代码(我的意思是连接交互式COM应用程序(正在WinForms应用程序上运行。任何人,请解释导致这种行为的原因以及如何解决它!提前感谢!

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

这是

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