【问题标题】:IIS Access IssueIIS 访问问题
【发布时间】: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


【解决方案1】:

IIS 不仅在单独的帐户下运行,而且在与交互式用户会话完全分离的单独登录会话下运行。如果您要从 IIS 使用,COM 对象必须可以在没有用户登录的情况下调用。

【讨论】:

  • 我可以在运行 iis 的同一登录会话中运行应用程序和 com 文件吗?
  • 交互式应用程序并不意味着可以从 IIS 访问。如果不了解您的应用程序和 COM 对象的更多信息,就很难找到解决方法。
  • IIS 只承载 WCF 服务,服务访问 COM 对象,COM 对象访问另一个应用程序。 Delta stock 是应用程序,DSApi api 自带。
  • 有没有其他方法可以在没有 iis 的情况下托管 WCF 应用程序?
  • 是的,您可以将其作为自托管服务托管在交互式应用程序中。查看ServiceHost 类。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-02
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-25
相关资源
最近更新 更多