0

别着急,你可能会说这属于服务器故障,但我是从开发人员的角度来问这个问题,而不是系统管理员。我可以获得不同的结果,并查看它在代码中的哪个位置(有点)!我不是系统管理员,但我觉得其他开发人员可能会遇到同样的问题(我们这些在没有 IIS 服务器管理员的小公司中的开发人员)。我在 SF 上问了一个类似的问题,但他们并没有真正与我的问题联系起来。

作为开发人员,我很难找到一种快速简便的方法来设置 IIS/ASP 开发服务器以供本地网络上的多个人使用。整个想法是让它不在现场机器上。它只是在我们的一张桌子上运行的一台小型笔记本电脑。

我以为这很容易。我最初所做的是 1) 修复 IP 地址 2) 将我的各种开发站点的绑定编辑为 10.0.1.115 在不同的端口(如 2020 等)上

这似乎在一段时间内工作得很好。编码,编码,编码......但是随着我的 C# 页面变得越来越复杂,响应时间越来越长,响应变得越来越大,奇怪的奇怪事情开始发生。 一些症状:

1) 我会在 Fiddler 中无缘无故地看到对错误 IP 地址(如 10.0.1.75)的不相关请求。然后它会一遍又一遍地重试,阻止浏览器 UI。我搜索了所有代码,所有主机文件,没有任何地方引用此 IP。这个请求似乎让浏览器挂起“等待 10.0.1.75 并且浏览器会旋转,即使在提琴手中原始请求完成并且它实际上下载了链接的 CSS 文件!!! WTF?

2) 响应时间慢。某些页面非常慢。我把它放在全国各地的生产服务器上,它的加载速度提高了 10 倍。

3)真正奇怪的事情:

   // C#:

   // I can see this before the odd request gets made! weird, right?
   Response.Write("hello"); 

   // then after see "hello", fiddler says request is made to some stupid unrelated ip    

   Response.Write(strOutput);
   // then I never see this output string (a bunch of HTML) rendered in the browser
   // it just spins on "hello" page asking for the wrong IP address in the gray status bar
   // BUT it shows up as proper HTML in fiddler, and also downloads all the CSS
   // that was referenced to by the HTML      

就像我说的,我可以将它部署到具有适当域的站点,并且一切正常,使用基本完全相同的 webconfig!

我在另一个站点上的另一个站点上遇到了类似的奇怪/缓慢的行为,该站点在生产中也可以正常工作(并且是完全不同的代码风格)。

是的,我已经在多台机器上尝试过使用和不使用代理。

简单(简短的 C# 页面可以正常工作)。

花了很长时间来挖掘这个,但这里没有真正的答案: https ://serverfault.com/questions/216093/site-loads-very-slow-if-i-use-ip-and-works-normal-when-i -使用域名-为什么

我不在乎这是否会被否决而你称我为 doofi。为此,我已经用头撞墙了 6 个小时。

我不应该使用IP地址吗?我应该设置自己的 DNS 而不是只使用固定 IP 吗?我不想弄乱我的网络并随机设置 DNS ......呃。

更新

所以看起来它可能是主机的事情?我查看了同一开发服务器上的另一个应用程序,它获得了 302 将 HTML 链接文件重定向到不正确的 IP!但只是根目录,而不是整个文件名,比如 10.0.1.75 而不是我预期的 10.0.1.75/somejsfile.js。在我的代码中没有任何地方这样做......使用固定IP有什么奇怪的吗?

所以这解释了为什么页面不会呈现,因为 DOM 没有完全构建......

4

2 回答 2

1

我不会为使用不同的端口而烦恼。在您的 DNS 服务器中,为 *.dev.mycompany.com 添加一个条目以指向感兴趣的 IP。如果您不想弄乱您的 DNS,您可以修改 C:/Windows/System32/Drivers/Etc/Hosts 文件中的主机文件,如果您无权访问您的感兴趣的每个开发网站,请添加一个条目DNS 服务器。如果你走这条路,你必须在每台开发机器上执行此操作。仅供参考,以管理员身份打开记事本并打开文件,然后在 Vista 上保存权限问题。

在开发机器的 IIS 设置中,将 website1.dev.mycompany.com、website2.dev.mycompany.com 添加到每个相应网站的绑定中。

然后,当您准备好进行生产时,您只需将 website1.dev.mycompnay.com 更改为 website1.mycompany.com。您的 DNS 应处理 website1.mycompnay.com。您的 DNS 或主机文件可用于确定您的 website1.dev.mycompany.com,具体取决于您的限制或您希望如何处理。

换句话说,您在代码中的任何地方都不依赖 IP 或端口。一切都在使用 DNS 解析。这仅取决于您的解决方案在哪里...在公司DNS服务器上...或在使用主机文件的每台开发机器上。

我为相对较小的公司工作,这就是我们处理这些问题的方式。要么工作。DNS 是最灵活的,因为它不需要在每台开发机器上进行更改,但是当只有 1-3 名开发人员在网站上工作时,我们使用了主机文件方法。

顺便说一句,我什至使用生产 SQL Server 上的主机文件来访问我们网络之外的链接服务器,这样我就可以给它一个复制所需的特定名称。可能不受 MS 支持的支持,但它可以工作。

于 2012-05-02T04:18:16.947 回答
0

可能是检查您的防火墙或代理配置可能会揭示导致问题的原因。

于 2012-05-02T03:23:00.077 回答