2017-08-11 88 views
2

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

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

注册手动MyAddin.dll,然后将其添加到注册表中,用键

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企业版和IIS 6.1 SP1

是否有人有一个想法,可能是什么?

+0

您必须使用加载项来部署您的Sparx Ea安装,并且用户可以像登录一样运行(这是可能的),然后让您的网站从那里拨打Sparx EA – Mart10

回答

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

+0

嗨,谢谢。现在你提到了“真正”的问题,我发现了其他来源。现在我正在努力解决另一个问题。我遵循链接上的步骤:http://blog.lieberlieber.com/2012/08/23/ea-app-is-not-visible-in-component-servicesdcom-x64/,但我仍然没有看到EA.App在DCOM配置文件夹中。这里有什么提示吗? – adelinerd

+0

对不起,我只知道这个产品存在。如果您遇到问题,您应该联系LieberLieber。 –

0

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

相关问题