2009-06-01 4 views
0

Auf meinem Entwicklungscomputer wird Windows XP SP2 (und implizit IIS 5.1) ausgeführt.Entwicklungscomputer IIS-Version vs. Bereitstellung IIS-Version

Bis vor kurzem basierte unsere Implementierungsumgebung auf Windows Server 2003 (und daher IIS 6.0).

Wir sind dabei, zu Windows Server 2008 (und damit IIS 7.0) für ein neues Projekt zu wechseln.

Unsere Projekte verwenden ASP.NET MVC und WCF Services.

Gibt es irgendwelche Hauptgründe für uns, unsere Entwicklungsmaschinen auf Windows Server 2008 (oder möglicherweise Vista, da dies auch mit IIS 7.0 geliefert wird) zu aktualisieren?

Antwort

5

Ich würde sagen, dass es in Ihrem besten Interesse ist, Ihre Entwicklungsmaschinen zu aktualisieren, um so viel der Produktionsumgebung wie möglich innerhalb Ihrer Mittel und Ressourcen zu emulieren. Andernfalls können Sie sich in Fallen begeben, die Ihnen gar nicht bewusst sind, indem Sie eine Anwendung von Ihrem Entwicklungscomputer auf die Serverumgebung bereitstellen, die sich auf unterschiedliche Versionen von IIS, die Version von .NET Framework, die auf jedem Computer ausgeführt wird, beziehen Der Code wird zur Laufzeit kompiliert oder ausgeführt.

Da IIS 7 seit IIS 5.1 erheblich verbessert wurde, warum sollten Sie nicht näher mit der aktuellen Funktionalität arbeiten, während Sie entwickeln, bevor Sie einige großartige Möglichkeiten verpassen? Um wirklich zu wissen, was Sie von einer Anwendung in der Produktion erwarten können, entwickeln Sie es unter den gleichen Umständen.

Bearbeiten/Hinzugefügt: This link kann Ihnen helfen, mindestens ein signifikantes Beispiel dafür zu sehen, wie unterschiedliche Versionen Ihr Projekt beeinflussen können.

1

Ich würde empfehlen, dass Sie gegen die gleiche Hauptversion entwickeln, die Sie bereitstellen möchten. Das heißt, dies lässt Sie mit ein paar Optionen. Erstens könnten Sie gegen Ihre lokale IIS-Installation bauen (so wie Sie es gerade tun). Das bedeutet, dass alle Ihre Boxen wahrscheinlich auf Windows Vista oder Windows 2008 Server (oder Windows 7, auf dem IIS 7.5 ausgeführt wird) aktualisiert werden sollten. Ihre zweite Option ist die Bereitstellung auf einem Remotecomputer. Es ist durchaus möglich, Ihre Anwendung auf einem Remote-Testcomputer mit IIS 7 zu implementieren und auch remote zu debuggen. Das Problem ist, dass wenn Sie mehr als einen Entwickler auf der Remote-Site arbeiten, wird es problematisch. IIS kann das Remote-Debugging auf verschiedenen Webs für verschiedene Entwickler durchführen, aber abhängig von Ihrer Architektur und Konfiguration können Sie weiterhin Ressourcen zwischen Instanzen von Test-Webanwendungen freigeben. Sie können sich gegenseitig blockieren. Der einzige Vorteil ist, dass Sie keine Lizenzen für alle Ihre Maschinen kaufen müssen (und möglicherweise die Hardware aktualisieren, um das Betriebssystem-Upgrade zu unterstützen). Ich denke jedoch, dass das kurzsichtig wäre. Der Verlust der Entwicklerproduktivität wäre es nicht wert, IMHO.

Es gibt wichtige Änderungen zwischen IIS 5.1 und IIS 7.x. Die Änderungen an der Architektur, z. B. die integrierte Pipeline, können zu drastisch unterschiedlichen Verhaltens- und Kompatibilitätsproblemen führen. Ich denke, Sie werden feststellen, dass IIS 7 weitaus entwicklerfreundlicher ist. Die Einführung von Dingen wie fehlgeschlagene Anforderungsverfolgung, erweiterte Protokollierung und erweiterte Fehlerseiten machen es viel einfacher, Fehler in Ihrer Anwendung aufzuspüren. In dieser Hinsicht lohnt sich das Upgrade.