.net 如何正确设置用于intranet的dev服务器

.net 如何正确设置用于intranet的dev服务器,.net,iis,networking,asp-classic,dns,.net,Iis,Networking,Asp Classic,Dns,请不要着急,您可能会说这属于服务器故障,但我是从开发人员的角度而不是系统管理员的角度来问这个问题的。我可以得到各种各样的结果,看看它在代码中的什么地方断开了(有点)!我不是一个系统管理员,但我觉得其他开发人员可能会遇到同样的问题(我们这些没有IIS服务器管理员的小公司的开发人员)。我问了一个关于科幻小说的类似问题,但他们并没有真正与我的问题联系起来 作为一名开发人员,我很难找到一种快速简便的方法来设置IIS/ASP开发服务器,供本地网络上的多个人使用。整个想法是让这台机器不在现场运行。只是一台放

请不要着急,您可能会说这属于服务器故障,但我是从开发人员的角度而不是系统管理员的角度来问这个问题的。我可以得到各种各样的结果,看看它在代码中的什么地方断开了(有点)!我不是一个系统管理员,但我觉得其他开发人员可能会遇到同样的问题(我们这些没有IIS服务器管理员的小公司的开发人员)。我问了一个关于科幻小说的类似问题,但他们并没有真正与我的问题联系起来

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

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

这似乎在一段时间内效果不错。编码,编码,编码……但随着我的C#页面变得越来越复杂,响应时间也越来越长,响应越来越大,奇怪的事情开始发生。 一些症状:

1) 在Fiddler中,我会无缘无故地看到一个与错误ip地址(如10.0.1.75)无关的请求。然后它会一次又一次地重试,阻塞浏览器UI。我搜索了我所有的代码,所有的主机文件,没有任何地方引用这个IP。此请求似乎挂起了浏览器“等待10.0.1.75,浏览器将旋转,即使在fiddler中原始请求已完成,并且它实际下载了链接的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#页很好用)

花了很长时间才弄明白,但这里没有真正的答案:

我不在乎这会不会被否决,你会说我是傻瓜。我已经为此把头撞在墙上6个小时了

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

更新

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


因此,这就解释了为什么页面不会呈现,因为DOM没有完全构建…

可能是防火墙中的检查,或者代理配置可能会揭示问题的原因。

我不想麻烦使用不同的端口。在DNS服务器中为*.dev.mycompany.com添加一个条目以指向感兴趣的IP。如果您不nt若要弄乱您的DNS,您可以修改C:/Windows/System32/Drivers/Etc/hosts文件中的hosts文件。如果您没有访问DNS服务器的权限,请为每个感兴趣的开发人员网站添加一个条目。如果您选择此路径,您必须在每台开发人员计算机上执行此操作。仅供参考,请以管理员身份打开记事本并打开该文件,然后将do保存到权限iss在向上的Vista中使用ues

在开发人员计算机的IIS设置中,将website1.dev.mycompany.com、website2.dev.mycompany.com添加到每个适当网站的绑定中

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

换句话说,您不依赖于代码中的任何IP或端口。所有内容都使用DNS解析。这取决于您的解析发生在何处…在公司DNS服务器上…或在使用主机文件的每台开发人员计算机上

我在一家相对较小的公司工作,这就是我们深入研究这些问题的方式。无论是work.DNS还是work.DNS都是最灵活的,因为它不需要在每台开发人员机器上进行更改,但我们在只有1-3名开发人员在网站上工作时使用了主机文件方法


另一方面,我遗憾地说,我甚至使用生产SQL Server上的主机文件来访问网络外的链接服务器,以便为其指定复制所需的特定名称。可能不受MS支持的支持,但它可以工作。

我的意思是,我们只是在一小群路由器和交换机上。我们不是在升级我们的实际服务器——关键是,它只是一台运行在我们办公桌上的小型笔记本电脑。在FTP站点上工作很慢,会导致问题。部署时,我们会将存储库签出到实际服务器上的适当应用程序上。您能更详细地解释您的设置吗?只需使用IIS 7运行server 2008并手动固定IP地址。我有e多个应用映射到本地IP 10.0.1.115,每个应用都有不同的端口。应该很简单吧?但我感觉使用IP而不是真正的DNS会有不同的行为。我不确定为什么使用DNS上的IP会有不同的行为。我想我的观点是,即使你有DNS,DNS也会更直接依赖于修改主机文件。这样更容易记住,而不是修改ip,您所要做的就是在部署时删除配置文件中的.dev。是的,使用主机文件似乎可以缓解一些问题