1

我们在客户端的服务器上安装了一个 ASP.NET 网站。该站点有一个 Web 服务,其中包含几个由 Flash 对象调用以显示新闻提要的 Web 方法。如果您浏览到他们的网站(例如:www.domain.com),一切正常,除了闪存。

问题是当我们浏览到 .asmx 时,标头显示主机是其网络内部的子域 (internal.domain.com)。显然,当从网络外部浏览时,这不会解析为任何公共 IP。这会导致 Flash 失败,因为 Flash 对象嵌入在页面上,因此正在客户端运行。

我检查了有问题的服务器上的计算机名称,它甚至与“internal.domain.com”不匹配——这是完全不同的东西。它从哪里得到这些信息。它不是来自 IIS,因为我们没有设置主机头,并且站点的 IP 设置为(全部未分配)。

我们需要强制 Web 服务针对特定主机运行,或者我们需要更改服务器上的某些内容,以便它解析为有效的面向公众的主机名。非常感谢任何和所有帮助!!!!

4

3 回答 3

1

解决方案是为 www.domain.com 添加主机头

更多细节在这里

于 2009-06-03T21:30:43.407 回答
0

虽然您可能已经这样做了,但这始终是一个很好的第一步:

在 Flash 对象和 Web 服务的源代码中对有问题的字符串进行全局查找。

听起来有人可能已将 internal.domain.com 字符串配置/编码到 Flash 对象的请求中。(主机:是 HTTP 请求标头,而不是响应标头,IIRC。)

于 2009-05-29T22:21:35.633 回答
0

Flash 对象是否从 C# 代码中获取 Web 服务 URL?如果是这样,它可能会获取您在 VS 中向项目添加 Web 引用时选择的默认 Web 服务 URL。因此,它可能指向开发人员机器/服务器的本地 URL,而该 URL 在实时服务器上无法识别。

于 2009-05-29T22:27:22.110 回答