1

我有一个 WCF 服务在 Windows Server 2008 上运行而没有问题,只是将该服务移至 Windows Server 2008 R2 实例。站点和服务的域名都指向了新服务,并且 ASP.NET 站点运行良好。也就是说,WCF 服务在尝试运行 wsdl=wsdl10 命令时不断抛出 Endpoint not found 响应。

我尝试在 v3.0/Windows Communication Foundation 目录中安装 ServiceModelReg;编辑 applicationHost.config 文件以添加 .svc mimeType,我检查了 Handler Mappings 但 SVC 已经存在。我尝试从 4.0 目录运行 aspnet_regiis -iru。

没有任何效果。

然后我尝试删除并重新添加 WCF 激活和进程激活功能 - 那里没有帮助。我重新检查了 web.config 文件,但它使用域名而不是 IP 地址来定义端点的位置。

我完全被困住了——有人有什么想法吗?

4

2 回答 2

3

事实证明,您需要在 Windows Server 2008 中将 Application Server 角色添加到 Web 服务器 (http://technet.microsoft.com/en-us/library/cc754024%28v=ws.10%29.aspx)以上。这可以解决大部分问题。

其次,包含网站的文件夹中的所有文件(包括 DLL、图像、所有内容)都需要向 IUsers 组提供读取和执行权限。

最后,如果您使用任何第 3 方 DLL,您需要确保 IIS 具有完全控制权 - http://learn.iis.net/page.aspx/624/application-pool-identities/

于 2012-08-06T19:46:06.840 回答
0

我想在此添加第四个选项。

我的启用 AJAX 的 WCF 服务不工作,因为在服务器上应用程序有一个安全的 SSL 连接。你可以在这里找到更多:MSDN

它指出:

只要包含服务的 IIS 虚拟目录支持这些设置,IIS 托管的 WCF 服务就可以利用 HTTP 传输安全性(例如,HTTPS 和 HTTP 身份验证方案,如 Basic、Digest 和 Windows 集成身份验证)。托管终结点绑定上的 HTTP 传输安全设置必须与包含它的 IIS 虚拟目录上的传输安全设置匹配。

这是解决它的一种方法:如何以编程方式为 WCF 服务配置 SSL

于 2014-06-26T14:22:41.727 回答