.
Anmeldung | Registrieren | Hilfe

Verknüpfungen

Mitmachen!

  • Eigenen Blog eröffnen

Dotnet-forum.de Blogger

Weitere Blogger

.NET-Blog Archiv

.NET Developer Blogs

Hash Bang Urls in Single Page Applications mit ASP.NET MVC

04.02.2012 14:37:00 | Alexander Zeitler

In Single Page Applications verwendet man häufig Hash-Bang Urls (was das ist, hat Robert hier beschrieben).

Setzt man nun anstelle des üblichen HomeControllers, der die Startseite (üblicherweise die Index View) rendert, eine statische default.htm Datei ein, will man natürlich die Hash-Bang Urls möglichst elegant und wie z.B. von twitter gewohnt in diesem Stil darstellen:

http://meineseite/#!/machwas

Durch die Verwendung der default.htm mit aktiviertem Default-Controller, müßte man das ganze allerdings so darstellen:

http://meineseite/default.htm#!/machwas

Leider funktioniert

http://meineseite/#!/machwas

zunächst nicht mehr (es erscheint die Index-Seite des HomeControllers oder ein 404, falls man den HomeController bereits gelöscht hat).

Der Grund liegt in den Route-Definitionen, die per Default in der Global.asax.cs definiert sind, genauer in der Definition eines Default-Controllers:

Entfernt man die Definition des Default Controllers

funktioniert der Aufruf von

http://meineseite/#!/machwas

wie gewünscht.

Natürlich kann man auch die Index-View des HomeControllers als Startseite für eine Single Page Application verwenden, was ich persönlich aber nicht (mehr) mache.


Von Ultrabooks, Rappern und Video-Kursen

03.02.2012 11:35:23 | Oliver

Nachdem ich in dieser Woche bereits auf das bevorstehende MWC-Developer-Event “Intel, the Platform of Choice“ am 28. Februar in Barcelona hingewiesen habe, bei dem teilnehmende Entwickler eines von 10 Ultrabooks gewinnen können, sollten Sie auch erfahren, wie man die kleinen Kraftpakete im Business professionell einsetzt. Anregungen dazu gibt kein Geringerer als William James Adams Jr., [...]

Welcher Browser unterstützt welche HTML5-Features

03.02.2012 09:07:00 | Sascha Dittmann

HTML5 LogoJe mehr ich mich in letzter Zeit mit den umfangreichen und spannenden Funktionen von HTML5 und CSS3 beschäftige, desto häufiger stelle ich mir die Frage:
Welcher Browser unterstützt eigentlich welche HTML5-Features?

Abhilfe schaffen u.a. zwei Suchmaschinen, die die HTML5- bzw. CSS3 Browserkompatibilität detailliert darstellen.

Eine rein technische Sicht der Dinge liefert hierbei die When can I use... Seite.
Über die Suchmaske kann nach HTML5-, CSS3- und SVG-Befehlen gesucht werden.

When can I use...

 

Wer noch zusätzlich ein paar Tipps & Tricks gezeigt haben möchte, findet bei dem Community Projekt HTML5 Please Rat:

HTML5 Please


Carriage Return / Neue Zeile in Textareas

03.02.2012 00:38:51 | Robert Mühsig

Eine kleine Aufgabe: Jede neue Textzeile (Carriage Return/Wenn man Enter drückt ) in einer Textarea soll ein Element in einer Auflistung sein – wie mach ich das jetzt am einfachsten? Eigentlich ein grundlegendes Element im Web und der Nutzer macht bewusst Absätze – daher wäre es nur gerecht, wenn man das auch entsprechend würdigt. Kleine ...

Doom, Quake, Wolfenstein & co. Source Code auf GitHub

02.02.2012 01:24:17 | Robert Mühsig

image.png
id Software, die Macher von Doom, Quake, Wolfenstein & co., stellen regelmäßig ihre älteren Spieltitle als Open Source zur Verfügung. Das Ganze runterzuladen fand ich bisher immer recht mühselig, allerdings gibt es seit kurzer Zeit die Sourcen auch auf GitHub. Darunter Spiele wie Doom 3, Quake 3, Wolfenstein für iOS. Wer also schon immer mal ...

Twitter Bootstrap 2.0 released & “Release Präsentation”

02.02.2012 01:10:37 | Robert Mühsig

image.png
Wie bereits vom Twitter Bootstrap Team angekündigt wurde offiziel die Version 2.0 des UI Toolskits “Twitter Bootstrap” veröffentlich. Zudem wurden die Slides, welche bei der Release Party gezeigt wurden auch veröffentlicht: Downloads finden sich auf der Twitter Bootstrap Seite auf GitHub.

Build Argumente mit Serverpfad befüllen

01.02.2012 23:58:10 | Thomas Schissler

Das Build System des TFS bietet die Möglichkeit einfach neue Parameter für den Build-Workflow zu definieren.

image 

In diesem Beispiel habe ich ein neues String-Argument mit dem Namen “ServerPath” hinzugefügt. Dieses Argument können nun in der Build Definition eingestellt werden.

image

Etwas unschön ist noch, dass wir den Pfad als Text eingeben müssen, schöner wäre hier, wenn wir den Pfad aus der Versionsverwaltung auswählen können. Man kann für die Attribute einen Editor angeben und glücklicherweise gibt es für die Auswahl einer Datei oder eines Pfades aus der Versionsverwaltung bereits einen entsprechenden Editor. Den wollen wir nun einbinden. Dazu müssen wir die Metadaten konfigurieren.

image

image

Der Parameter Name muss hier genau dem Argument-Name entsprechen. Und nun kommt der entscheidende Punkt, wir geben im Feld Editor “Microsoft.TeamFoundation.Build.Controls.ServerFileBrowserEditor, Microsoft.TeamFoundation.Build.Controls” ein. Damit wird nun neben dem Eingabefeld in der Build-Definition ein Button angezeigt mit dem sich der entsprechende Editor öffnen lässt.

image


MWC: Zum Developer-Event anmelden & eines von 10 Ultrabooks mitnehmen!

01.02.2012 18:24:50 | Oliver

Eigentlich mache ich meinen Job als Journalist und Blogger wirklich gerne, aber in den kommenden Wochen würde ich sofort mit Ihnen tauschen – sofern Sie Software-Entwickler sind und die Chance haben, zum Mobile World Congress nach Barcelona zu „fahren“. Denn in diesem Jahr lohnt sich die Reise in die katalanische Metropole nicht nur wegen der [...]

C++ Day–Informieren sie sich über die inzwischen wieder umfangreichen Neuerungen im Bereich C++

31.01.2012 15:24:51 | Thomas Schissler

Thomas Trotzki, ein Kollege von mir, führt im Auftrag von Microsoft die C++ Days durch. Es gibt noch vereinzelt Plätze. Wer also mit C++ arbeitet dem sei diese Veranstaltungsreihe wärmstens empfolen.

C++ Day 2012

C++ geht mit der Zeit – gehen Sie mit! Wir zeigen Ihnen die Neuerungen und Trends in der Microsoft C++-Welt, von neuen Sprachfeatures über effektive Parallelisierung bis hin zu professionellem Software Engineering durch Application Lifecycle Management. Termine gibt es in Berlin, Bad Homburg, Karlsruhe oder Köln. Die Teilnahme ist natürlich kostenlos, aber die Plätze sind begrenzt.

Zugegeben: In den letzten Jahren waren die Neuerungen rund um die „managed“ .Net-Programmierung mit einschlägigen Sprachen wie C# im Fokus der Aufmerksamkeit. So ist .Net zu einer der produktivsten Entwicklungsplattformen gewachsen.

Doch C++ ist zurück im Rampenlicht: Auch im 21. Jahrhundert wird C++ als Programmiersprache nicht weg zu denken sein. In C++ können Sie stets selbst zwischen Performance und Abstraktion wählen. Kein unnötiger Overhead, bei Bedarf volle Kontrolle. Und genau das wird C++ auch in der Zukunft seinen Platz unter den Programmiersprachen sichern – der Trend immer komplexere Anwendungen auf immer kleinere Hardware zu bringen unterstützt dies nachhaltig.

Seit Visual Studio 6.0 hat sich auch in der Microsoft C++-Welt viel getan –also höchste Zeit für ein Wissens-Update.

Wo? Wann?

2.2.2012 14:00- 18:00 Berlin: ANMELDUNG
7.2.2012 14:00- 18:00 Bad Homburg: ANMELDUNG
13.2.2012 14:00- 18:00 Karlsruhe: ANMELDUNG
5.3.2012 14:00- 18:00 Köln: ANMELDUNG
Teilnahme: Kostenlos

Der C++ Day 2012 wird freundlicherweise unterstützt von artiso.

Folgende Themen erwarten Sie:
C++ 11: Modernes C++ im 21. Jahrhundert

C++ bleibt aktuell – neue Sprachfeatures machen den nativen Klassiker fit für neue Herausforderungen. Dieser Vortrag gibt Ihnen einen Überblick über die wesentlichsten Neuerungen in C++ 11 – wie beispielsweise Smartpointer mit Reference-Counting (shared_ptr), Lambda-Expressions, neue Container-Klassen, Iteratoren und Sprachkonstrukte wie for_each sowie RValue References.

Parallel-Power in Visual Studio 11: Konzepte und Tools

Effektive parallele Programmierung erhöht die Performance in vielen Fällen drastisch, braucht aber das richtige Know-How und spezialisierte Tools. Denn bei stetig steigender Anzahl an Cores und CPUs wird es immer wichtiger, das Anwendungsmodell in Richtung Skalierbarkeit hinsichtlich Multiprocessing auszulegen. Auch das Debugging bietet einige Herausforderungen. Verschaffen Sie sich einen Überblick über die neuen Konzepte rund um Parallelisierung in Windows API, Concurrency Runtime und Visual Studio.

Application Lifecycle Management für C++: Die nächste Generation

Application Lifecycle Management ist mittlerweile auch in der nativen Entwicklung Pflicht: Mit Team Foundation Server haben Projektteams jeder Größe ein zentrales Portal für Zusammenarbeit, Versionskontrolle, Work Item Tracking, Build-Management, Prozessunterstützung und Fortschrittsreports . Dies ermöglicht den Mitgliedern von Teams, besser und effizienter zusammenzuarbeiten. Der Haken bisher: Die wichtigsten Features wurden auch für C++ unterstützt, aber bestimmte interessante Features waren der .NET Welt vorbehalten. Die gute Nachricht: Visual Studio 11 zieht hier nun nach – sehen Sie, welche Neuerungen sie erwarten.

Der Referent

imageimage

Thomas Trotzki ist ALM Consultant bei der artiso AG nahe Ulm und Microsoft-C++-Profi der ersten Stunde.

Mit Microsoft C++ und den MFC beschäftigt er sich intensiv seit den ersten Beta-Versionen zu Microsoft C/C++ 7.0, also bereits vor der Geburtsstunde von Visual C++ und Visual Studio.

Technologisch ist er neben C++ und den MFC auch mit COM/DCOM und der gesamten „Managed Welt“ vertraut und hat umfangreiche Expertise im Application Lifecycle Management. Zurzeit betreut er Kunden bei der Einführung von Microsoft Team Foundation Server und berät bei der Etablierung eines Application Lifecycle Management in deren Entwicklungsabteilungen.


WCF Service über JQuery ansprechen leicht gemacht

31.01.2012 15:13:13 | Daniel Schädler

Zur Zeit bin ich an einer Weiterbildung für die Verwendung von .NET im Grossfirmenumfeld. Ein Thema darin ist ist Windows Communication Foundation (kurz WCF genannt). Da ich aus der Ecke der Webprogrammierer komme interessiert es mit primär, wie ich einen WCF-Service von einer Webseite her ansprechen kann. Was brauchen wir denn für einen Service der [...]

Tool um Test Cases im TFS zu kopieren

31.01.2012 11:17:17 | Thomas Schissler

Der TFS bzw. der MTM unterstützen leider keine Versionierung von Test Cases. Wenn man nun für unterschiedliche Versionen einer Software Test Cases verwalten möchte, muss man die Test Cases kopieren. Wie damit die Versionierung von Test Cases abgebildet werden kann, habe ich hier beschrieben.

Um das Kopieren größerer Mengen von Test Cases zu vereinfachen, gibt es nun das Test Case Copy Tool von Anna Russo.

http://www.improvingsoftwarequality.com/2012/01/new-version-of-bulk-copy-test-cases.html


BlackBerry Business Cloud Services fuer Microsoft Office 365

31.01.2012 10:11:07 | Kay Giza

Microsoft Exchange Online auf dem Smartphone genießen können ab sofort auch Nutzer eines BlackBerry®-Gerätes: Dank der von BlackBerry-Hersteller Research in Motion (RIM) gehosteten Business Cloud Services für Microsoft Office 365, die nach mehrmonatiger öffentlicher Betaphase jetzt offiziell freigegeben wurden, profitieren BlackBerry-Nutzer im Rahmen von Office 365 für mittelständische und große Unternehmen oder Exchange Online ab sofort ohne weitere Kosten von der Synchronisation ihres Smartphones mit Microsoft Exchange Online. Gute Nachrichten auch für Administratoren, die mit der Dienstintegration in das Office 365-Administrationsportal leichtes Spiel haben. Erfahren Sie mehr über die BlackBerry Business Cloud Services für Microsoft Office 365... [... mehr in diesem Blogeintrag auf Giza-Blog.de]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
© Copyright 2006-2011 Kay Giza. All rights reserved. Legal
Subscribe


Javascript zu Dart Translator

31.01.2012 01:06:49 | Robert Mühsig

image.png
Dart, Google Javascript Alternative, wurde vor ein paar Monaten vorgestellt und die Webentwickler Szene ist noch etwas gespalten, ob Dart nun überflüssig ist oder einfach nur cool und längst überfällig ist. Um die Sprache näher zu erläutern hat Google die grundlegenden Javascript Basics nach Dart übersetzt. Das Ergebnis ist der “Translator”. Der Name mag momentan ...

Brauchen Software-Programmierer (keine) Thread-Checker?

30.01.2012 22:54:19 | Oliver

Die Woche beginnen wir mal mit überraschenden Ergebnissen einer aktuellen Dr. Dobb’s Studie. Unter dem Titel „The Parallel Programming Landscape – Multicore has gone mainstream“  hat der renommierte Developer-Service am Ende des vergangenen Jahres knapp 300 namhafte Unternehmen aus dem Bereich Software-Entwicklung zu Zielen und Tools im Bereich „Parallel-Programmierung“ befragt. Dabei wurde eine erstaunliche Lücke [...]

Buch-Rezension zu „Professional Test Driven Development with C#“

30.01.2012 22:01:53 | Johnny Graber

Wer Unit Tests und TDD in der Praxis einsetzen will merkt bald einmal dass die einfachen Beispiele einem nicht weit bringen. "Professional Test Driven Development with C#" ist angetreten um zu zeigen wie TDD in realen Projekten genutzt werden kann. Kann das Buch dieses Versprechen halten?

TDD im Flow – Teil 3

30.01.2012 15:33:00 | Ralf Westphal

Was bisher geschah: TDD im Flow – Teil 1 TDD im Flow – Teil 2 Test #4: Blockierte Entnahme Nun geht es an den Kern meines Abstrakten Datentyps: die Sequentialisierung. Ich muss die Entnahme aus den Queues nach Round Robbin einschränken. Es darf nur entnommen werden, wenn eine Queue nicht gerade blockiert wird. Die Blockierung beginnt, wenn ein Worker aus einer unblockierten Queue entnimmt –

Call for Papers der dotnet Cologne 2012 ist noch aktiv

30.01.2012 14:58:29 | Albert Weinert

Wer es noch nicht mitbekommen hat, am 4. Mai 2012 findet die 2012er Ausgabe der dotnet Cologne 2012 statt. Wir suchen natürlich noch Sprecher, mit interessanten Themen die wir unseren Teilnehmern anbieten können.

Mir persönlich fehlen noch ein paar Vorträge Absatz des Microsoft Stacks, es gibt Interessante Open Source Tools und Frameworks rund um .NET die noch nicht mit einem Vortrag bedacht sind. Mir liegt viel daran auch dort entsprechendes zu Präsentieren.  Von der Einführung bis zum Deep Dive darf alles angeboten werden. Macht die Konferenz Interessant, was für Ihre selbst gerne mal auf einer Konferenz sehen.

Also holt euch euren Zugang zum SpeakerNet der dotnet Cologne und tragt eure Vorschläge ein.

Hier geht es zu unserem Call for Papers https://dotnet-cologne.de/CallForPapers.ashx


See# Conference 2012

30.01.2012 14:21:00 | Jürgen Gutsch

Vor einigen Wochen habe ich per Doodle eine kleine Stimmungsumfrage gestartet, um zu sehe, wie das Interesse an einer weiteren Veranstaltung des .NET-Stammtisch Konstanz-Kreuzlingen aussieht.

Kurz nach dem ersten Ansturm auf die Umfrage ist das neue Team dann zusammengesessen und hat überlegt, ob und wie die neue Veranstaltung denn konkret aussehen soll. Uns war wohl allen klar, dass wir die Veranstaltung auf jeden Fall noch einmal versuchen wollen, sofern die Umfrage positiv verläuft. Und so wie es hier aussieht nenne ich das sehr positiv:

Ich möchte mich bei allen Teilnehmern der Umfrage hiermit ganz herzlich bedanken. Dieses Ergebnis hat unsere Motivation für eine weitere Veranstaltung noch mehr verstärkt.

Das Team

Im Team gab es ein paar Veränderungen. So wird uns Golo Roden – der letztes Jahr eine großartige Agenda mit vielen tollen Sprechern aufgestellt hat - leider nicht mehr aktiv im Team unterstützen. Auch Markus Schmid möchte sich dieses Jahr nicht mehr an der Organisation der Veranstaltung beteiligen.

Wenn auch nur im Beck-End, so bekommen wir doch starke Unterstützung von Patrick Kress, der die organisatorischen Fäden (Zügel?) zusammenhalten wird.

Weiterhin mit dabei sind Stefan Zybarth (Combit GmbH) für PR und Helfer, Tilo Schinke (Ontrex AG) für Finanzen, Catering und Location und zu guter Letzt meine Wenigkeit als Ansprechpartner für Sponsoren, Sprecher und Teilnehmer.

Für die Auswahl der Themen möchten wir dieses mal die .NET-Community beauftragen ;-)
Parallel zum CfP starten wir eine Umfrage zur Themenwahl. Sprecher und Vorträge werden wir dann anhand der gewählten Themen aus den Eingängen des CfP auswählen.

Neuer Name

Die Änderung des Namens hatte mehrere Gründe: Zum einen gab es nie eine Party (außer die traditionelle Kennenlern-Party am Vortag) und zum anderen gab es auf der Seiten der Teilnehmer Schwierigkeiten vom Arbeitgeber eine Party am Samstag gezahlt zu bekommen.

Zum anderen wollen wir uns auf das Konferenz-Schema festlegen, da es in dieser Region keine Konferenz dieser Art gibt. Auch wenn es in der .NET-Community den Anschein hat, dass es inzwischen reichlich Veranstaltungen der .NET-Community gibt, so sind es doch viele verschiedene Arten und keine welche den Bodenseeraum und alle vier anliegenden Länder ansprechen soll.

Die Website wird in Kürze unter der Adresse seesharp-conference.net erreichbar sein. Unser Sponsor und Hosting Provider die K&K Internet GmbH wird die nötigen Einstellungen im IIS noch machen müssen und wir werden noch ein paar Änderungen auf der Website machen müssen.

Als Twitter-Hashtag wird wohl #SSC12 herhalten.

Location und Termin

Die See# Conference wird, wie die Veranstaltungen zuvor wieder im DREISPITZ Sport- und Kulturzentrum in Kreuzlingen statt finden. Hier sind wir gut betreut, fühlen uns wohl, der Caterer hat eine Küche vor Ort. Weiterhin bekommen wir als Kreuzlinger Verein die Location zum halben Preis und die Stadt Kreuzlingen freut sich, dass sie auch eine IT-Veranstaltung im Angebot hat :-)

Was den Termin angeht, so können wir unser Versprechen, einen Termin außerhalb der Sommerferien zu finden, leider nur für die Schweiz einlösen. Der Termin für die See# Conference 2012 wird

Freitag der 31. August 2012

sein. Das war der einzige Termin der im Spätsommer, bzw. Herbst noch frei war. Das nächste mal werden wir wohl schon 14 Monate im Voraus buchen müssen. Allerdings spricht das ja auch für das DREISPITZ. Vielen Dank - an dieser Stelle - an die Stadt Kreuzlingen für die Unterstützung bei der Terminfindung. (Ich freu mich schon jetzt wieder auf die interessanten Gespräche mit dem Hauswart Herrn Keller *fg*)

Verpflegung

Erst der Negative Punkt: Bei der letzten Veranstaltung mussten wir sehr viele Flaschen selber einsammeln und in die bereitgestellten Behälter entsorgen, aber das alleine ist nicht das Problem, sondern die Tatsache, dass die ca. Hälfte dieser Flaschen nicht ganz lehr waren, bzw. teilweise noch mehr als halb voll waren. Da der Inhalt der Flaschen einen gewissen Wert besitzt der auf die Teilnehmer umgeschlagen werden muss und da es einfach nur schade darum ist Lebensmittel entsorgen zu müssen, wollen wir das aus Ökologischen und Ökonomischen gründen von vornherein begrenzen. Wir werden deshalb, wie bei der ersten Veranstaltung, nur drei Getränke kostenfrei bereitstellen. Alle weiteren Getränke werden zum Selbstkostenpreis abgegeben. Außerdem werden wir ein Flaschenpfand einführen.

Die positiven Punkte: Der negative Punkt gilt nur für Softdrinks in Flaschen. Kaffee und Tee gibt es natürlich weiterhin kostenfrei. :-) Als Caterer werden wir schauen dass wir wieder das Hotel ZIIL bekomme können. Im Gegensatz zum Caterer der ersten See# Party, lief die Abwicklung mit dem Hotel ZIIL absolut stressfrei und lecker war es auch.

Also…

…alle die in der Umfrage für die Veranstaltung gestimmt haben möchte ich auch auf der See# Conference sehen ;-)

Ich freue mich drauf ein drittes mal eine solche Veranstaltung machen zu können und lade alle herzlich dazu ein, als Teilnehmer, als Sponsor oder als Sprecher, das Event einen noch größeren Erfolg werden zu lassen als die vergangenen Veranstaltungen :-)


TFS 11 : Master und Sub Team Backlog Management

30.01.2012 14:17:57 | Christian Binder

Manche Organisationen haben für das Product Backlog Management ein zentrales Master Backlog, von welchem die Product Backlog Items (PBI) dann verschieden Sub-Teams zugewiesen werden. Diese Teams arbeiten in Ihrem eigenen separaten Product Backlog. Mit TFS 11 können wir nun dieses Konzept direkt konfigurieren, dabei wird der AreaPath verwendet um die Hierarchie abzubilden.

image

Master Backlog:

image

Die Zuweisung zu einem Team Backlog erfolgt über den AreaPath des PBI’s:

image

Dann findet man im Sub Team Backlog das PBI. Über die Konfiguration kann festgelegt werden, ob dass PBI noch im Master Backlog nach einem Refresh sichtbar sein soll oder nicht.

image

Wie konfiguriere ich das Ganze? Gregg hat einen Post verfasst, wie man Schritt für Schritt das Master Sub-Team Konzept konfiguriert.
Hinweis: In dem TFS 11 CTP Build ist diese Funktionalität nicht enthalten, erst mit der TFS 11 Beta oder jetzt schon mit dem TFS Service.


Giza-Blog.de: Office 365 Domain- und Dienstkonfigurationsanleitungen haben ein neues zu Hause gefunden

30.01.2012 10:57:41 | Kay Giza

Letztes Jahr habe ich hier im Blog Anleitungen bzw. How-To-Guides rund um die Dienstkonfiguration von Office 365 für verschiedenste Hoster veröffentlicht. Wie füge ich bei Office 365 meine Domain (bzw. Domäne) hinzu und lasse sie überprüfen? Wie richte ich bei Office 365 die Dienste Exchange Online, Lync und SharePoint ein? Herausgekommen sind 20 sehr umfangreiche Anleitungen. Damit diese stetig aktuell sind, auch von jedermann bearbeitbar sind (denn Sie als Office 365 Anwender bzw. Administrator machen sicherlich ihre ganz eigenen Erfahrungen und sammeln auch Tipps und Tricks), haben wir die Anleitungen in das offizielle Microsoft Office 365 Wiki gestellt. Bitte beachten Sie daher... [... mehr in diesem Blogeintrag auf Giza-Blog.de]

This post is powered by www.Giza-Blog.de | Giza-Blog.de: RSS Feed
© Copyright 2006-2011 Kay Giza. All rights reserved. Legal
Subscribe


Silverlight und Spekulationen rund um das Thema

28.01.2012 15:48:00 | Jürgen Gutsch

Eigentlich habe ich das Thema inzwischen satt, ich beobachte es schon seit knapp einem Jahr und nirgends sind klare Aussage zu finden, sondern nur wilde Spekulationen. Das ging im letzten halben Jahr nicht nur so weit, dass Silverlight in Frage gestellt worden ist, sondern auch das .NET Framework.

Klar ist, dass von Microsoft keine klaren Informationen zu dem Thema kommen. Klar ist dass es dadurch etwas Verunsicherung beim Thema Silverlight gibt.

Ich teile die Meinung, dass Silverlight-Projekte im Moment eine schlechte Idee seien, absolut nicht. Vielleicht bin ich aber auch nicht paranoid genug… ;-)

Wie auch immer… komme ich im Moment entwickelnd und beratend mit einigen neuen Silverlight-Projekten in Berührung. Es stehen auch einige Anfragen an… Aus meiner Sicht gibt es im Moment keinen Grund zu behaupten, dass Silverlight tot ist. Andererseits gibt es auch keine Informationen ob es ein Silverlight 6 geben wird oder nicht. Im Gegenteil konzentriert sich Microsoft auf HTML5

Aber ist das schlimm? Könnte das ein Problem für Silverlight sein?

Aus meiner Sicht nicht. Denn in einem einzigen Punkt stimme ich mit Steve Jobs (RiP) überein. Silverlight und Flash haben im Web nichts zu suchen und hatten es auch nie. Flash hatte sich fälschlicherweise fast als ein Standard im Web durchgesetzt. Kein Wunder, war es bis zu Silverlight doch auch die einzige Möglichkeit schnell schöne Rich Internet Applications zu schreiben. Ich habe selber habe (nicht nur fürs Web) Anwendungen mit Flash erstellt.

Silverlight ist eine Alternative zu Flash, die sich zwar als Technologie, aber im Web kaum durchgesetzt hat. (Allerdings: Erst vor ein paar Monaten hat Amazon den Videoplayer für die Filme auf lovefilm.de von Flash auf Silverlight ändern lassen.) Das hat sicher auch einigen klar gemacht, dass beide Technologien ihre Daseinsberechtigungen haben, aber nicht im Web, sprich nicht für alle Benutzer und nicht für alle Endgeräte. Wieso auch…

Dafür gibt es bereits einen Standard und der heißt HTML. ;-)

Jetzt mit HTML5 haben auch die Videoplayer mit Flash oder Silverlight keine Daseinsberechtigung mehr. Und das ist auch gut so, so ist es möglich eine Website mit allen Inhalten, für alle Benutzer und allen Endgeräten zur Verfügung zu stellen. Genial oder? Ich finde es jedenfalls genial…

Und wo hat Flash und Silverlight noch eine Daseinsberechtigung?

Überall dort wo HTML aufhört,  bzw. überall dort wo HTML zu aufwendig wäre und überall dort wo die Zielgruppe eingeschränkt ist. In den aktuellen Projekten, an denen ich beteiligt bin, ist die Zielgruppe begrenzt, bzw. den Benutzern kann also die Systemvoraussetzungen genannt werden. Bei allen Projekten handelt es sich um Geschäftsanwendungen.

Und Silverlight 6? Benötigen wir ein Silverlight 6?

Wenn die Tatsache stimmt, dass die XAML-Schicht mit Silverlight 5 und WPF 4.5 identisch sein kann, so wird Silverlight 6 nicht mehr benötigt. Wieso auch? Wir haben dann eine Technologie mit der Bezeichnung XAML mit C#, bzw. XAML mit VB. Basierend auf unterschiedlichen Frameworks. Ehrlich gesagt, finde ich diese Vorstellung gar nicht mal so übel…

Einzig eine Frage die ungeklärt ist, ist das Silverlight-Plug-In… Aber Moment mal… Hat sich Microsoft, nicht selber verpflichtet jedes Produkt mindesten zehn Jahre zu supporten?

Nebenher: Wer glaubt eigentlich wirklich, dass eine Software zehn Jahre lang aktuell bleibt?

Wir können also noch ein paar Jahre XAML mit C# oder VB im Silverlight Plug-In laufen lassen… Und dann ist .NET fast zwanzig Jahre alt… Und dann? Möglicherweise wird das Plug-In dann nicht mehr Silverlight heißen… Möglicherweise auch ganz was anderes…

Ich möchte hier nicht auch noch anfangen zu spekulieren, sondern nur sagen, dass ich mir erst mal keine Sorgen um die Technologie Silverlight mache. Das heißt nicht, dass man nicht dennoch über den Tellerrand schauen sollte um anderes und neues zu lernen. Ganz im Gegenteil… ;-)


Verbindungsprobleme beim Datenbankzugriff zwischen Windows Azure und SQL Azure

28.01.2012 09:26:02 | Jan Welker

Sql-AzureBei einer Webanwendung, dich gerade in ASP.NET entwickle, bin ich vor kurzem auf eine große Anzahl von Verbindungsproblemen zwischen Windows Azure (IIS) und SQL Azure gestoßen.

Die Webseite nutzt Windows Azure, AppFabric-Cache und SQL Azure. Alles lag im Rechenzentrum West-Europa.

Wie haben sich die Probleme geäußert und wann sind sie aufgetreten?

Beim Datenbankzugriff mit dem Entity Framework gab es folgende Exceptions:

  • Invalid attempt to read when no data is present.
  • The underlying provider failed on Open.
  • Calling 'Read' when the data reader is closed is not a valid operation.
  • An error occurred while reading from the store provider's data reader.
  • A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)
  • A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The semaphore timeout period has expired.)

Die Fehler sind sind aufgetreten, sobald die Webseite etwas stärker belastet wurde. Dies geschah immer dann, wenn die Webseite durch einen Bot (z.B. Google oder Bing) gecrawlt wurde. Eigentlich sollten solche geringen Lastschwankungen Windows Azure bzw. SQL Azure nicht weiter beeindrucken - dachte ich.

Mein erster Versuch die Fehler zu beheben, war die Größe der VM Instanz zu erhöhen. Leider brachte dies keine Besserung.
An meinem Code konnten diese Fehler nicht liegen, da die Webseite vor dem Umzug zu Azure schon einige Monate auf meinem eigenen Server fehlerfrei lief.
Ich schilderte diese Probleme dem Azure Support und war von der Antwort sehr überrascht. Der Support wusste von dem Problem und hatte auch einen Namen dafür parat: “Transient Conditions”. Ich wurde auf einen Artikel vom “Windows Azure Customer Advisory Team” hingewiesen, in dem folgendes zu lesen ist:

The database connections may also be dropped due to the variety of reasons related to network connectivity between the client and distant Microsoft data centers: quality of network, intermittent network faults in the client’s LAN or WAN infrastructure and other transient technical reasons.

Als Lösung wird der Einsatz des so genannten Transient Fault Handling Framework vorgeschlagen, das im wesentlichen nichts weiter macht, als den Datenbankzugriff zu überwachen. Im Fehlerfall wird der Datenbankzugriff einfach erneut versucht.

Ich habe mich aus mehreren Gründen gegen den Einsatz dieses Frameworks entschieden:

  • das Framework ist riesengroß und hat einige Abhängigkeiten
  • es ist schlecht dokumentiert
  • ich sehe nicht ein, Infrastruktur-Fehler im Code auszugleichen, wodurch die Ladegeschwindigkeit der Webseite sinken würde

Gerade zum letzten Punkt, der Performance, habe ich einige Versuche gemacht.
30 bis 50 Versuche um Daten zu lesen waren im Fehlerfall keine Seltenheit und das, obwohl Datenbank und IIS im selben Azure – Rechenzentrum (West-Europa) lagen. Die Performance der Webseite würde mit dieser Strategie deutlich in die Knie gehen.

Als nächstes habe ich versucht herauszufinden, ob man die Verbindungsprobleme nicht anders in den Griff bekommen kann.
Ich habe die Webseite wieder auf meinem eigenen Webserver gelegt, aber die Datenbank bei Azure gelassen, schon waren die Fehler weg!

Auch wenn die Webseite im Rechenzentrum Europa Nord liegt und die Datenbank in Europa West, gibt es keine Probleme. In dieser Konstellation läuft die Webseite jetzt einen Monat fehlerfrei.

Bin ich mit meinen Erfahrungen ein Einzelfall (Ich habe ja öfter mal Pech mit Server-Hardware), oder hat Microsoft hier noch massive Probleme?


TDD im Flow – Teil 2

27.01.2012 15:29:00 | Ralf Westphal

Was bisher geschah: TDD im Flow – Teil 1 Test #2: Ein Worker entnimmt aus mehreren Queues Der dritte Test in meiner Planung bleibt sinnig. Er führt zu Änderungen am Produktionscode. Den Testcode zu zeigen, lohnt nicht. Er entspricht der Skizze im Bild. Aber hier der Produktionscode: internal class NotifyingMultiQueue{    List>> _queues =         new List<

System Center Advisor released

27.01.2012 14:37:22 | Constantin Klein

Nach ca. 10 Monaten im Release Candidate (RC) Status ist System Center Advisor (ehemals Codename Microsoft Atlanta) seit gestern öffentlich verfügbar. Eine Information dazu findet sich im Microsoft Server and Cloud Platform Blog und im CSS SQL Server Engineers Blog. Der auf Windows Azure gehostete Cloud Service ermöglicht proaktives Server Configuration Management für SQL Server [...]

Jetzt testen : Team Foundation Service

26.01.2012 18:21:00 | Christian Binder

Team Foundation Service ist der TFS in der Cloud. Keine Installation, Ideal für verteilte kleine Teams, ob Scrum, MSF Agile oder CMMI es ist Euer Prozess Ihr könnt wählen. Freunden könnt Ihr ganz einfach Zugriff via Windows Live ID geben und schon geht’s los.

Jetzt unter http://tfspreview.com mit folgendem Code anmelden : “TfsDecUpdate”

Viel Spassss


WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum