【发布时间】:2011-11-15 16:24:10
【问题描述】:
WCF 服务
我正在开发一个 WCF 服务,它需要与系统上运行的 com 应用程序通信。
我已经用 ASP.net 开发服务器测试了该服务,它工作正常。现在,当我从 IIS 运行它时,服务无法与 com 应用程序通信。
问题是 IIS 在不同的用户帐户“应用程序池”中运行,而不是一个用户登录。在用户帐户用户上运行的 COM 文件已登录。所以这就是他们有问题通信的原因。或者至少我是这么认为的。
我所做的是我在 IIS 中创建了一个新的应用程序池,并预先设置我将进程模型标识更改为本地系统。但它没有用....
我需要有关如何使 com 和服务在同一个帐户中运行的想法。
任何想法都会被广泛采用。
【问题讨论】:
-
我们在谈论什么样的 COM 对象(某些产品,如 Office 或一些自行实现的)您可以更改 COM 对象吗?您可以在自己的 Windows 服务中托管 COM 对象吗?您可以在 Windows 服务而不是 IIS 中托管 WCF 服务吗?
-
-> COM 对象是第三方的,需要与第三方的其他 Windows 应用程序一起运行。 -> 我不知道怎么做,但我不这么认为 -> 我不知道,但可以使用 ASP.net 开发服务器。
-
在不了解有关 COM 对象的更多细节的情况下,这听起来像是“不可能完成的任务”......即使有更多细节,我怀疑如果不诉诸于恕我直言的一些“黑客”,您将无法做到这一点“非生产质量”...
-
我认为有办法托管使用第三方 com 文件的 Web 应用程序?
-
如果您可以在 Windows 服务中托管 WCF 服务,它会变得更容易...如果您可以在“普通应用程序(控制台/winforms/WPF)”中托管 WCF 服务,那么它肯定是可能
标签: c# wcf web-services iis