在几次演练之后,我使用EF创建了一个WCF服务来连接Northwind数据库。使用单个开发计算机上的Visual Studio 2010,SQL Server 2012 Express和IIS 7.5 Express。
使用IE9我可以连接到服务并请求各个表,如:
此外,使用OData Explorer(Silverlight应用程序),我可以添加到本地IIS的新连接,也可以看到Northwind表;例如,员工表:
但是,当我将服务移动到运行IIS 7.0的同一域上的服务器时,我可以浏览到服务根目录,如下所示:
但是,当我请求Customers表时,该服务没有响应:
虽然我可以在OData Explorer中创建新连接,但当我请求单个表时,会出现未知错误:
显示错误的完整描述,但链接已过时且无法使用:
[HttpWebRequest_WebException_RemoteServer] 参数:NotFound 调试资源字符串不可用。通常,密钥和参数提供了足够的信息来诊断问题。见http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.10411.0&File=System.Windows.dll&Key=HttpWebRequest_WebException_RemoteServer 在System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 在SL_OData_Explorer.Views.ODataExplorer。<> c__DisplayClass1e。<> c__DisplayClass20.b__1d()
在谷歌搜索后,我发现了几个相关的帖子,clientaccesspolicy.xml和crossdomain.xml文件应该放在网站的根目录下。虽然我知道这是针对silverlight的,并确实放置了所述文件,但他们的预期没有效果。
当我比较本地机器的响应时:
到服务器上的IIS,很明显服务在那里,但找不到表。
因此,在这两种情况下,我都可以浏览到服务的根目录,但只能在本地访问根目录并查看各个表。
这似乎是一个配置问题,但是试图找到关于这个未公开的错误的信息充其量是困难的。有谁知道在这个例子中发生了什么?
谢谢,
格雷格