【问题标题】:Calling a webservice on one website from another website; both hosted on the same server从另一个网站调用一个网站上的网络服务;都托管在同一台服务器上
【发布时间】:2012-07-30 18:11:20
【问题描述】:

我有一台服务器在一个 IP 下为多个网站提供服务,并绑定到特定的 URL。

但是,我托管的其中一个站点需要从位于同一服务器上的另一个 IIS 网站中的 Web 服务(.asmx 文件)中提取数据。代码在本地运行良好,但是当我们将代码推送到服务器时,似乎无法在本地解析查找。 (得到可怕的“无法建立连接,因为目标机器主动拒绝了它”。我认为正在发生的事情是它尝试使用端点地址并进行 DNS 查找,但是因为 DNS 查找最终解析为相同的 IP,它实际上是通过内存或管道或其他东西而不是网络来吸引流量,这导致 IIS 无法绑定到正确的站点,因此整个事情都陷入困境。

有没有办法可以使用 Windows 主机文件或其他机制来解决这个明显的 DNS 问题?也许有人可能会对此有所了解,也许根本就不是 DNS。谢谢!

更新 - 以下是相关域的快速细分。没有什么特别编码或指向“本地主机”。一切都在使用完全限定的域名。

DomainA.com 是一个网站,当提交表单时,它会从 DomainB.com 调用 Web 服务。 DomainA.com 和 DomainB.com 都是在绑定到相同外部 IP 地址的同一服务器上的 IIS 中设置的“网站”。我相信的问题是 DomainA.com 在提交表单时会对 DomainB.com 进行 DNS 查找,当它发现域是相同的 IP 地址时,不会向 DomainB.com 发出请求时使用域名。如果没有使用/发送域名,IIS 不知道要连接到哪个站点,并且“目标计算机会主动拒绝”连接。

【问题讨论】:

  • 很可能您正在通过本地地址(即 localhost)访问位于第二个 IIS 中的 Web 服务。尝试使用外部 DNS 名称或在 IIS 管理器中添加 localhost 绑定。​​
  • 抱歉拉曼,事实并非如此。我使用的是完全限定的 URL。
  • 不,这些都没有使用 SSL,马修。
  • 你解决过这个问题吗?我有类似的问题

标签: c# web-services iis dns


【解决方案1】:

您是否必须在配置文件中定位到您的网络服务?

查看您生成的代理类来使用它。 主机通常被硬编码到该文件中。

如果您没有使用生产主机创建该文件(或服务引用),则它指向您的开发 Web 服务。这将无法从您的生产机器访问。

【讨论】:

  • 不正确。主机指向生产服务器上的正确 URL。问题是该 URL 中使用的域指向的 IP 与使用 Web 服务的网站所拥有的 IP 相同。
猜你喜欢
  • 2013-07-16
  • 1970-01-01
  • 2011-01-08
  • 1970-01-01
  • 2019-08-05
  • 2018-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多