我正在开发一个系统,用户与IIS服务器中托管的WCF服务进行交互。然后,WCF应用程序必须启动winform应用程序以及一些参数。此winform应用程序执行一些处理,然后加载安装在服务器上的Solidworks应用程序(软件)。此Solidworks将创建一些输出文件并将其放在用户可以访问的共享文件夹中。
它在开发环境(Visual Studio)中运行良好,但是当我在IIS中部署它时,它会抛出以下错误:
COMException未处理未处理的类型异常 系统.Runtime.InteropServices.COMException'发生在mscorlib.dll
中
我尝试使用两种方法加载WinForm:
加载Winform,从WCF主机
创建WinForm实例我试过以下:
两次操作均失败。我尝试给AppPool“本地系统”和“Doman管理员”身份,但这样做它开始抛出我的Visual Studio运行时异常“System.Runtime.InteropServices.COMException类型的未处理异常”。我尝试将程序转换为x86但它没有用。但是当我独立运行应用程序时,它运行正常。
当我尝试调试时,它不在这一行:
SldWorks swApp = Activator.CreateInstance(Type.GetTypeFromProgID("SldWorks.Application")) as SldWorks;
由于它在Visual Studio环境中运行良好,所以我认为可能是访问问题不允许IIS执行其工作。