2009-07-15 7 views
0

Im aktuellen Blick auf WCF als eine Upgrade-Option und muss alles berücksichtigen, was dies in Bezug auf eine .Net 2.0-Entwicklung und Setup enthalten kann.WCF Gotcha's für den ASP.Net 2.0-Entwickler

Dinge, die

  • .Net 3.0 installiert werden (nicht 3.5 Projekt handeln anders)
  • was wären die Auswirkungen sein auf unsere App-Server (die asmx Dateien verwenden, um Dienste zu veröffentlichen) in den Sinn kommen
  • gibt es irgendwelche Zipperlein/gotya die mit WCF (gemeinsame Dinge zu achten ist)

welche Probleme haben Sie berücksichtigen, wenn Sie ein Upgrade?

Aktuell bei

Code und Design Ich bin auf der Suche

Vielen Dank im Voraus

=== == UPDATE ========

Vielen Dank an alle, die bisher geantwortet haben, ich begrüße immer noch mehr Input. Gibt es irgendwelche Gotchas?

Ich habe begonnen, auch die folgenden

  • Version von .NET -WCF erfordert mindestens .NET 3.0 zu prüfen, jedoch 3,5 whats new in .NET 3.5
  • WCF-Hosting eine Reihe von Verbesserungen enthält - WCF Hosting
  • Wird es haben Auswirkungen auf unsere bestehenden Anwendungen - eine der Dimecast-Videos hatte einige Infos und vielen Dank an Mehmet Aras für die Köpfe
  • Betrachtet Schulungsmaterial - Ich habe einige der Bücher, die ich gewesen bin ntioned über den Haushalt, aber ich fand auch diese (was hilfreich sein kann) Patterns in Action

=========== UPDATE 2 =============

S # arp Architektur (found here) wurde mit WCF vervollkommnet, ich dachte, ich würde dies erwähnen, da ich Beispielanwendungen leichter zu verstehen.

Antwort

2

Ich empfehle das IDesign Zeug für WCF. Nicht nur ihre Standards, sondern auch das ServiceModelEx-Projekt mit seinen Hilfsklassen.

Die Dienste werden in IIS (oder WAS, wenn Sie das Glück haben, auf 2008 zu sein) als .svc-Dateien nicht als .asmx-Dateien veröffentlicht, so dass es dort zu einer Änderung der Modellierung kommen kann. Mit entsprechenden Bindungen können Clients jedoch weiterhin auf dieselbe Weise eine Verbindung zu ihnen herstellen. Ich würde empfehlen, ein gutes Nachschlagewerk zu bekommen - ich finde mich von Zeit zu Zeit eintauchen.Essential Windows Communication Foundation ist nützlich, aber nicht übermäßig freundlich; Programmierung WCF-Dienste (von einem der IDesign Jungs) sieht besser aus IMHO.

Ansonsten gibt es keine wirklichen Probleme. .NET 3.0 ist keine grundlegende Änderung von 2.0, sondern ein zusätzlicher Satz von Bibliotheken. Ich würde 3,5 für WCF empfehlen, für die der gleiche Kommentar im Grunde gilt.

3

Ich schlage vor, Sie kaufen das Fischbuch, "Programmierung WCF" von Juval Lowy. Es ist ein ziemlich vertieftes Buch. WCF ist in hohem Maße konfigurierbar und hat eine andere Philosophie, das gesamte ABC-Konzept von Adresse, Bindung und Vertrag. Versuchen Sie auch, die Sicherheitsoptionen in WCF zu verstehen, da diese je nach Szenario komplex sein können. Ein anderer Blog, den ich vorschlagen würde, ist http://www.dasblonde.net/

1

Upgrade auf .NET 3.5 SP1 und Visual Studio 2008 SP1. Es gibt Verbesserungen für WCF von 3.0 auf 3.5, Entity Framework wird in .NET 3.5 SP1 unterstützt, und warum nicht sofort auf dem neuesten Stand sein?

2

Finden Sie heraus, welche Versionen von SOAP Ihre vorhandenen Clients verwenden. ASP.NET 2.0 asmx-basierter Webdienst verarbeitet standardmäßig SOAP 1.1- und SOAP 1.2-Nachrichten, sofern Sie die SOAP 1.2-Unterstützung nicht deaktivieren. Bevor Sie sich entschließen, einen asmx-basierten Web-Service zu WCF zu migrieren, sollten Sie herausfinden, welche Version von SOAP-Nachrichten von den Clients in Ihren asmx-Web-Service gelangt. Um sowohl SOAP 1.1 als auch SOAP 1.2 weiterhin zu unterstützen, um keine bestehenden Clients zu unterbrechen, benötigen Sie zwei Bindings: basicHttpBinding (SOAP 1.1) und eine benutzerdefinierte Bindung, die der von basicHttpBinding entspricht. Die Nachrichtenversion wird jedoch als SOAP angegeben 1.2. Lesen Sie Anticipating Adopting the Windows Communication Foundation Artikel auf msdn. Sie können HTTP-Datenverkehr von Ihren Clients mit einem Netzwerkanalysator wie WireShark erfassen und die HTTP-Header analysieren. Um Ihren neuen WCF-basierten Dienst zu testen, können Sie diese HTTP-Anforderung wiedergeben oder ähnliche erstellen.

Sie müssen auch die asmx-basierte URL beibehalten, damit der Übergang zu WCF für die Clients transparent ist und sie weiterhin über dieselbe URL auf den Service zugreifen können.

Beachten Sie, dass die oben genannten Punkte möglicherweise nicht gültig sind, wenn Sie die vorhandenen Clientanwendungen kontrollieren und planen, sie ebenfalls zu aktualisieren.