在另一个网站的一个网站上调用网络服务;两者都托管在同一台服务器上

时间:2012-08-01 19:28:14

标签: c# web-services iis dns

我有一台服务器,在一个IP下为多个网站提供服务,并对特定网址进行绑定。

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

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

更新 - 以下是相关域名的快速细分。没有特别编码或指向'localhost'。 Everyhing使用完全合格的域名。

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

1 个答案:

答案 0 :(得分:0)

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

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

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