3

经过几次演练,我使用 EF 创建了一个 WCF 服务来连接 Northwind 数据库。在一台开发机器上使用了 Visual Studio 2010、SQL Server 2012 Express 和 IIS 7.5 Express。

使用 IE9,我可以连接到服务并请求单个表,如下所示:

在此处输入图像描述

此外,使用 OData Explorer(Silverlight 应用程序),我可以添加到本地 IIS 的新连接,还可以查看 Northwind 表;例如员工表:

在此处输入图像描述

但是,当我将服务移动到运行 IIS 7.0 的同一域上的服务器时,我可以浏览到服务根目录,如下所示:

在此处输入图像描述

但是,当我请求客户表时,服务没有响应:

在此处输入图像描述

虽然我可以在 OData Explorer 中创建新连接,但当我请求单个表时,会出现未知错误:

在此处输入图像描述

显示了错误的完整描述,但链接已过时且不可用:

[HttpWebRequest_WebException_RemoteServer] 参数:NotFound 调试资源字符串不可用。通常,关键和论据提供了足够的信息来诊断问题。请参阅SL_OData_Explorer.Views.ODataExplorer 上 System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 上的 http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.10411.0&File=System.Windows.dll&Key=HttpWebRequest_WebException_RemoteServer .<>c__DisplayClass1e.<>c__DisplayClass20.b__1d()

谷歌搜索后,我发现了几篇关于 clientaccesspolicy.xml 和 crossdomain.xml 文件应该放在网站根目录的帖子。虽然我知道这是银光特有的,并且确实放置了上述文件,但正如预期的那样,它们没有任何效果。

当我比较来自本地机器的响应时:

在此处输入图像描述

与服务器上的 IIS 相比,很明显该服务存在但找不到表。

在此处输入图像描述

因此,在这两种情况下,我都可以浏览到服务的根目录,但只有在本地才能超越根目录并查看各个表。

可以肯定的是,这似乎是一个配置问题,但尝试查找有关此未公开错误的信息充其量是困难的。有谁知道在这种情况下发生了什么?

谢谢,

格雷格

4

0 回答 0