【发布时间】:2011-11-29 14:37:43
【问题描述】:
我们刚刚开发了一套网络服务并托管如下:
本地托管:WCF 4 数据服务(有一个 svc 文件)在后端使用实体框架和 Linq 访问 SQL Server 数据库。让我们称之为 WebDataServices
在国外托管:WCF 4 REST 服务(无 svc 文件)在后端使用实体框架和 Linq 来访问 WCF 数据服务。让我们称之为 WebFeedServices。
所有这些都在我们的 UAT 环境中运行良好,因为一切都是本地的。从我们单独托管服务的那一刻起(如上所述),我们就开始遇到问题。
问题是 WebFeedServices 没有获取任何数据。
在我们的一轮调查中,我们发现:
a) 当我们 mstsc 进入国外的服务器并使用 Internet Explorer 浏览 WebDataServices 时,我们可以在浏览器中看到响应 xml。
b) 当我们 mstsc 进入国外的服务器并使用无效 ID 浏览 WebFeedServices(使用 Internet Explorer)(GetByID 使用虚假/不存在的 ID)时,我们可以在浏览器中看到响应 xml,它返回一个空 xml/对象。空对象是由于我们放置的检查。
c) 当我们 mstsc 进入国外服务器并使用 VALID ID 浏览 WebFeedServices(GetByID 使用真实/现有 ID)时,我们在浏览器中看不到响应 xml,它返回一个 null xml/object。
起初我们认为可能是数据库表中的错误内容可能会造成干扰,但应该在 UAT 中显示。
我们不确定我们还应该看什么。这两个 Web 服务目前都托管在 W2K3 服务器/IIS6 环境中,并且基于 RESTful 的 WebFeedServices 还配置了通配符映射和匿名身份验证。
任何帮助或建议将不胜感激。
感谢和问候,
诺埃尔
【问题讨论】:
-
当您尝试浏览 WebFeedServices 时获得的 Http 代码是什么。尝试使用 fiddler 将请求发送到 FeedService 并查看响应。