【发布时间】:2012-05-22 11:32:44
【问题描述】:
我有一个 WCF 服务项目,我正在尝试在我的本地开发机器上启动和运行。
当我从在 Cassini 中运行的 IE8 中点击 .SVC 时,它没有问题。
当我从在 IIS 中运行的 IE8 中点击 .SVC 时,我收到以下服务器错误。
此服务实施“2”合同。要使用 WebScriptServiceHostFactory,您必须为每个服务实现一个协定。如果您必须使用多个合约,请使用常规的 ServiceHost。
我的 IIS 配置似乎有问题。我有一位同事在他的机器上通过 IIS 运行项目,我们已经检查并匹配了我们的 Windows 功能列表,以确保我们在 Windows 7 中安装了相同的 IIS 和 WWW 功能。
我还用 IIS 4.0 重新注册了 aspnet,但错误没有改变。
【问题讨论】:
-
我下载了 IIS Express 以查看具有多个合同的服务是否会运行并且它们会运行!在这一点上,我完全不知道为什么服务在我的开发框中的 IIS 中运行时会引发上述错误。
-
看来 IIS Express 解决方案只是一个权宜之计,因为截至今天早上,我的多个合同服务即使在 IIS Express 中也不再有效。所以现在我完全不知所措。我还在我办公室的其他机器上部署了服务项目,这些机器通过 IIS 7.5 将它们用作应用程序,并且这些其他机器正常工作,所以此时我无法解释为什么具有多个服务合同的服务不起作用在我的机器上。