【问题标题】:IIS cannot locate the Enterprise Architect AddinIIS 找不到 Enterprise Architect 插件
【发布时间】:2018-01-20 03:05:09
【问题描述】:

我有一个用 C# 编写的 Web 应用程序,它允许用户创建图表并将其导出到 Enterprise Architect。该插件也是用 C# 编写的,并使用选项 Register for COM Interop 构建。当我使用 Visual Studio 2015 调试应用程序时,它可以正常工作,但是当我尝试使用 IIS 部署它时,它就不起作用了。 我尝试使用

手动注册MyAddin.dll

c:\windows\...\4.0.30319\regasm c:\inetpub\wwwroot\myApp\bin\MyAddin.dll /codebase

然后使用键将其添加到注册表中

HKLM\Software\Wow6432Node\Sparx Systems\EAAddins\MyAddin

但我仍然收到错误消息。 错误如下:

"Error while executing transaction. Actions have been rolled back."
Exception"System.Runtime.InteropServices.COMException (0x80080005): Die COM-Klassenfactory für die Komponente mit CLSID
{67F4E0FA-46A7-4255-B084-69A9433D08C3}
konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80080005 Server execution failed (Ausnahme von HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
bei System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
bei System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
bei System.Activator.CreateInstance(Type type, Boolean nonPublic)
bei System.Activator.CreateInstance(Type type)
bei NAF.Util.EaUtil.load_ea_repository(String eapFilePath)
bei EABridge.CapabilityImporter.Import(Int32 projectId, String eaTemplatePath)
bei EAsyNAF.WebApp.Controllers.HomeController.<>c_DisplayClass15_0.<CreateProject>b_0(ITransaction transaction)
bei EAsyNAF.WebApp.Utils.TransactionUtils.ExecuteTransaction(Action`1 action, IDataServiceManager dataService, ILogger logger, Action customRollback)"

我使用的是 Windows 7 Enterprise 和 IIS 6.1 SP1

有人知道那可能是什么吗?

【问题讨论】:

标签: iis-6 enterprise-architect


【解决方案1】:

EA 需要登录用户才能使用 API。当您在 IIS 中运行它时,您将 EA 作为服务访问。那根本行不通。

我隐约记得有一个项目(是在 SourceForge 上的吗?),几年前就开始处理这个问题了。但这已经停滞不前了。

LieberLieber 的人在这个方向上有一些东西:https://www.lieberlieber.com/en/web-collaborator-for-enterprise-architect/

另见http://www.sparxsystems.com/forums/smf/index.php/topic,30960.msg224599.html#msg224599

【讨论】:

  • 嗨,谢谢。既然您提到了“真正的”问题,我找到了其他来源。现在我正在努力解决另一个问题。我按照链接上的步骤操作:blog.lieberlieber.com/2012/08/23/…,但我仍然没有在 DCOM 配置文件夹中看到 EA.App。这里有什么提示吗?
  • 对不起,我只知道有这个产品。如果遇到问题,您应该联系 LieberLieber。
【解决方案2】:

我们通过使用名为 FireDaemon 的工具设法让它运行起来。我们已经读到所谓的“会话 0”存在问题。这个应用程序允许我们在这个会话中作为服务运行。我尝试了其他工具,例如http://nssm.cc/,但在我们的案例中不起作用。我们为 EA 插件创建了一个 WCF 服务,该服务现在通过 FireDaemon 启动。 我们仍在尝试寻找另一种解决方案,但至少我们的应用程序运行起来了。

【讨论】:

    猜你喜欢
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    相关资源
    最近更新 更多