我没有想法,所以我希望有人能帮忙。这是我得到的:
- 仅具有 basicHttpBinding 端点的 WCF 服务。
- 只有一个服务接口(interface),其他所有[DataMember]、[FaultContract]都是具体类型。
- 当我直接从 Visual Studio 运行它(使用 WCF 测试客户端或我的自定义应用程序)时,一切正常(我发送请求并获得响应)。这通常需要一两秒钟。
- 我将其发布到 IIS 6 服务器。
- 我可以成功打开http://server/WebService/WebService.svc?WSDL
- 我可以成功打开http://server/WebService/WebService.svc/mex (与上面相同的输出)
- WCF 测试客户端和我的自定义应用可以成功添加服务引用
- 每当我尝试调用服务方法时,它都会等待大约 15 秒,然后收到可怕的“无有意义的回复”错误。
- 我运行了 Fiddler,得到了 202 结果,这看起来很成功。
- 返回的字节数不超过 65536 字节
- 它返回一个数组,但它很小
- 我尝试了远程调试,但无法使其正常工作,可能是由于防火墙的原因(但端口 80 已打开,我可以获取 WSDL)
- 我启用了 system.diagnostics,什么也没有。
- 我有一个 IErrorHandler,它通常会记录一些东西,但什么也不记录。
这是端点配置:
<endpoint address="" binding="basicHttpBinding" contract="Enterprise.IMyService" bindingNamespace="http://ourdomain.com/MyService/">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
我还能尝试什么吗?这可能是某个地方的简单设置,但我无法弄清楚。
编辑:
原始 fiddler 响应:
HTTP/1.1 202 Accepted
Date: Thu, 15 Apr 2010 19:02:45 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Length: 0
最佳答案
我明白了!和WCF没有任何关系。当我将其移至服务器时,数据库连接字符串不再有效。错误记录(到电子邮件)配置也不再有效并且正在引发异常。花了 15 秒才响应,因为这是 SQL Server 连接超时的时间。
关于WCF "The server did not provide a meaningful reply",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2648288/