【问题标题】:WCF Server returning "Content-Length: 0"WCF 服务器返回“内容长度:0”
【发布时间】:2011-06-08 01:35:07
【问题描述】:

您好,

我创建了一个新项目(在 VS2010 中)使用;

文件 -> 新网站 -> .NET Framework 3.5 -> WCF 服务

Service 通过 Cassini 运行良好,可以成功查看 WSDL 元数据。然后我尝试将应用程序设置为通过 IIS 提供服务。使用带有“集成”管道的 .NET 2.0 应用程序池。

我确保在应用程序(托管和脚本)上设置了 svc 处理程序并运行了这个命令:

"%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" /r

然后,当我尝试通过 IIS 服务查看服务元数据时,我得到了这个(来自 Fiddler 会话的文本);

GET http://localhost/WCFService2/Service.svc HTTP/1.1
Host: localhost
Connection: keep-alive
Accept:   application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like     Gecko) Chrome/8.0.552.224 Safari/534.10
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

HTTP/1.1 200 OK
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Wed, 12 Jan 2011 19:04:43 GMT
Content-Length: 0

我收到了 HTTP 错误 500,但我将文件夹中所有文件的权限更改为“EveryOne”和“full” - 只是为了消除任何安全问题。在此操作之后,错误 500 停止但空内容开始。

我使用的是 Windows 7 64 位 VS2010 并安装了 v2.0、v3.0、v3.5 和 v.4.0.30319 框架。我希望它能像screencast 一样简单,我真傻。

有什么建议吗?

【问题讨论】:

  • 您可以尝试从http://localhost/WCFService2/Service.svc?wsdl 获取元数据吗?这会返回一些东西吗??
  • 相同的结果,即没有结果 "Content-Length:0"
  • 仅供参考,我永远不会将网站“项目”用于网络服务;或其他任何东西,真的,但对于服务项目,它们真的很糟糕。

标签: wcf iis cassini


【解决方案1】:

尝试通过“打开或关闭 Windows 功能”启用静态内容支持,这很可能是导致问题的原因。

如果未启用“静态内容”,IIS 将返回 Content-Length = 0 的响应

进入控制面板>>

程序和功能>>

打开或关闭 Windows 功能 >>

互联网信息服务 >>

万维网服务 >>

常见 HTTP 功能 >>检查静态内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 2012-04-18
    • 1970-01-01
    相关资源
    最近更新 更多