我已经设置了我的虚拟机来模仿我的 DevServer。我已将网络连接设置为从我的 Loopback Adapter 1st、LAN 4th 读取。但由于某种原因,当我在 .ASPX 文件中创建连接字符串:“Provider=SQLOLEDB;Data Source=DevServer; Initial Catalog=myDB; User Id=xxx; Password=yyy”时,它总是从 LAN Dev Server 读取,而不是 VM 开发服务器。
我不明白为什么会这样?
这非常令人沮丧,因为我必须不断地从主机背面拔下我的 cat5e 电缆以断开 LAN 连接,然后它将从我的 VM 中读取。然后不可避免地,我想在网上搜索一些东西,瞧,我的连接被拔掉了,我必须重新插入。
我能做些什么来改变这一点?
有关更多信息,请参见下图...
更新: 如果我从命令提示符 ping “DevServer”,它会解析为“192.168.0.2”,这是我的 VM 环回适配器。所以它应该可以工作,但是当它通过 IIS 和 .aspx 时,它会看到 LAN DevServer。因此,显然某些原因导致 IIS 不听 VM 而是听 LAN 地址。
如果它们都被命名为“devserver”,则可能是主机名混淆了。尝试将虚拟“devserver”添加到您的主机文件中。如果它工作,那么你有一个DNS问题。这可能是因为计算机不够“聪明”,无法去它应该去的地方:)
最佳实践是为您的 devserver 和您的 vmdevserver 使用不同的服务器名称。如果只需要短期重定向,那么 hosts 文件解决方案可能适合您的需要。
无论哪种方式,在网络(域?)上重复名称都会有问题。
rbs
这看起来是一个名称解析问题 - 您需要确定名称是由 netbios 还是主机名解析 - 请参阅本文
然后您可以将您的服务器名称添加到您的主机和/或 lmhost 文件中。这样做的副作用是名称将始终解析为您的本地虚拟机
因此,您要么更改连接字符串,要么必须更改主机文件
单独的名称似乎是显而易见的事情 - 这就是其他人都在使用它们的原因:-P