2016-11-01 17 views
0

我试图使用azure上托管的Web应用程序中的WatiN库自动运行Internet Explorer。我越来越想创建IE浏览器的实例时以下异常:在Azure上自动运行Internet Explorer

System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {0002DF01-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE))

首先,是有可能的是在Azure上托管的Web应用程序自动化IE? (无论如何我都知道这是一个糟糕的主意),如果可能的话如何解决这个异常。

更新:之前得到这个异常我得到另一个说Interop.SHDocVw.dll没有找到。我将Imbed Interop Types属性设置为false,将Copy Local设置为true,并且异常消失。

回答

1

您只有通过云服务(Web和Worker角色)或虚拟机才能实现您的目标。

Web应用程序(运行在App Service计划中)不支持任何类型的COM交互。而且你的代码失败了,因为它试图与IE标准的COM接口进行通信。

您可以了解更多关于Cloud Services hereVirtual Machines here的信息。

+1

不只是网络角色。工人角色以及基于Windows的虚拟机。 –

+0

为了在Cloud Service上允许com交互,我需要做什么具体设置? – Kira

+0

通常不会,但如果失败,您可以尝试在高架模式下运行您的实例(这会导致它在本地系统帐户下运行)。点击这里:https://blogs.msdn.microsoft.com/farida/2012/05/01/run-the-azure-worker-role-in-elevated-mode-to-register-httplistener/ – astaykov

相关问题