<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:a10="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>DotNetGerman Bloggers</title><description>Alle Blogs von DotNetGerman.com</description><copyright>Copyright 2004-2007 DotNetGerman.com</copyright><generator>DotNetGerman.com</generator><image><url>http://blogs.dotnetgerman.com/images/dotnetgemanbloggers_feedlogo.png</url><title>DotNetGerman Bloggers</title><link /></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/DotnetgermanBloggers" type="application/rss+xml" /><feedburner:browserFriendly></feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><guid isPermaLink="false">http://www.st-lange.net/post.aspx?id=fc79fc2b-88ab-409f-b61b-6286d0e7266f</guid><link>http://www.st-lange.net/post/Benutzer-definierte-Animationen-in-Silverlight.aspx</link><a10:author><a10:name>Stefan Lange</a10:name></a10:author><title>Benutzer definierte Animationen in Silverlight</title><description>&lt;p&gt;Bei einer Silverlight Applikation ergab sich k&amp;uuml;rzlich die Aufgabe, einen bestimmten Bereich &amp;uuml;ber eine Art &amp;bdquo;Maximize Button&amp;ldquo; so zu vergr&amp;ouml;&amp;szlig;ern, dass er sich &amp;uuml;ber den ganzen im Browser zur Verf&amp;uuml;gung stehenden Platz erstreckt. Hier zun&amp;auml;chst ein Beispiel, wie es funktionieren soll:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.st-lange.net/samples/2009-11-SilverlightGridAnimation/GridMaximizer.html" target="_blank"&gt;Beispiel ohne Animation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Die &amp;auml;u&amp;szlig;eren Bereiche sind hier im Beispiel nicht ganz auf 0 verkleinert, um den Effekt deutlicher zu machen. Die Implementierung ist einfach: Die &lt;strong&gt;Row&lt;/strong&gt;- und &lt;strong&gt;ColumnDefinition&lt;/strong&gt; Objekte werden per Code einfach mit neuen &lt;strong&gt;GridLength&lt;/strong&gt; Objekten umkonfiguriert, so dass der Content Bereich den gesamten verf&amp;uuml;gbaren Platz einnimmt.&lt;/p&gt;
&lt;pre class="brush: c-sharp;"&gt;void Maximize()
{
  const int zero = 15;  // set to non-zero for demonstration purposes only

  LayoutRoot.ColumnDefinitions[0].Width = new GridLength(zero, GridUnitType.Pixel);
  LayoutRoot.ColumnDefinitions[1].Width = new GridLength(1, GridUnitType.Star);
  LayoutRoot.ColumnDefinitions[2].Width = new GridLength(zero, GridUnitType.Pixel);

  InnerLayout.RowDefinitions[0].Height = new GridLength(zero, GridUnitType.Pixel);
  InnerLayout.RowDefinitions[1].Height = new GridLength(1, GridUnitType.Star);
  InnerLayout.RowDefinitions[2].Height = new GridLength(zero, GridUnitType.Pixel);
  InnerLayout.ColumnDefinitions[0].Width = new GridLength(zero, GridUnitType.Pixel);
  InnerLayout.ColumnDefinitions[1].Width = new GridLength(1, GridUnitType.Star);
}

void Restore()
{
  LayoutRoot.ColumnDefinitions[0].Width = new GridLength(1, GridUnitType.Star);
  LayoutRoot.ColumnDefinitions[1].Width = new GridLength(700, GridUnitType.Pixel);
  LayoutRoot.ColumnDefinitions[2].Width = new GridLength(1, GridUnitType.Star);

  InnerLayout.RowDefinitions[0].Height = new GridLength(100, GridUnitType.Pixel);
  InnerLayout.RowDefinitions[1].Height = new GridLength(1, GridUnitType.Star);
  InnerLayout.RowDefinitions[2].Height = new GridLength(30, GridUnitType.Pixel);
  InnerLayout.ColumnDefinitions[0].Width = new GridLength(180, GridUnitType.Pixel);
  InnerLayout.ColumnDefinitions[1].Width = new GridLength(1, GridUnitType.Star);
}
&lt;/pre&gt;
&lt;p&gt;F&amp;uuml;r den Anwender sieht das Umschalten aber nicht besonders attraktiv aus. Der zu vergr&amp;ouml;&amp;szlig;ernde Bereich sollte sich beim Maximieren nicht schlagartig ausdehnen, sondern animiert anwachsen. Entsprechendes gilt nat&amp;uuml;rlich auch f&amp;uuml;r ein sp&amp;auml;teres Restore in die Ursprungsgr&amp;ouml;&amp;szlig;e.&lt;/p&gt;
&lt;p&gt;Die Aufgabe ist nun nicht ganz so einfach, da eine Animation von Row/ColumDefinition weder in Silverlight noch in WPF vorgesehen ist. Das zu animierende Objekt ist der Value Type &lt;strong&gt;GridLengh&lt;/strong&gt;, f&amp;uuml;r den es keine im Framework vorhandene Animation gibt. In WPF k&amp;ouml;nnte man nun eigene Animation &lt;strong&gt;GridLengthAnimation&lt;/strong&gt; implementieren, die man von &lt;strong&gt;AnimationTimeline&lt;/strong&gt; ableitet. Wie das geht wurde schon sehr oft erkl&amp;auml;rt.&lt;/p&gt;
&lt;p&gt;In Silverlight ist die Ableitung eigener Animationen weder vorgesehen noch m&amp;ouml;glich. Von der abstrakten Klasse &lt;strong&gt;Timeline&lt;/strong&gt; sind 7 fest definierte Animationen sowie die Klasse &lt;strong&gt;Storyboard&lt;/strong&gt; abgeleitet; alle Ableitungen sind sealed. Diese vordefinieren Animationen sind in Silverlight lediglich Wrapperklassen. Die eigentliche Arbeit wird von der darunterliegenden Silverlight Runtime ausgef&amp;uuml;hrt, was mit ziemlicher Sicherheit aus Performance Gr&amp;uuml;nden so gemacht wurde. Leitet man probeweise eine eigene Klasse von &lt;strong&gt;Animation&lt;/strong&gt; ab und f&amp;uuml;gt sie in einen &lt;strong&gt;Storyboard&lt;/strong&gt; ein, erh&amp;auml;lt man sofort eine COM Runtime Exception. So einfach geht es also nicht.&lt;/p&gt;
&lt;h2&gt;Alternativen&lt;/h2&gt;
&lt;p&gt;Zun&amp;auml;chst einmal sollte man sich nat&amp;uuml;rlich fragen, ob es f&amp;uuml;r ein gegebenes Problem wirklich notwendig ist eine eigene Animation zu implementieren. Bei meinem konkreten Maximize/Restore Problem k&amp;ouml;nnte ich ja auch anders vorgehen: Anstatt die Breiten und H&amp;ouml;hen von Zeilen und Spalten verschiedener Grids zu animieren, w&amp;auml;re es auch m&amp;ouml;glich, &amp;uuml;berall den &lt;strong&gt;GridUnitTyp&lt;/strong&gt;e auf &lt;strong&gt;Auto&lt;/strong&gt; zu setzen und in die entsprechenden &lt;strong&gt;Grid&lt;/strong&gt; Zellen &lt;strong&gt;Border&lt;/strong&gt; Objekte packen. &lt;strong&gt;Border&lt;/strong&gt; Objekte besitzen die von &lt;strong&gt;FrameworkElement&lt;/strong&gt; geerbten Properties &lt;strong&gt;Width&lt;/strong&gt; und &lt;strong&gt;Height&lt;/strong&gt;, die ganz normal mittels &lt;strong&gt;DoubleAnimation&lt;/strong&gt; animiert werden k&amp;ouml;nnen. Da die Zeilen und Spalten der&amp;nbsp;&lt;strong&gt;Grid&lt;/strong&gt; Objekte auf &lt;strong&gt;Auto&lt;/strong&gt; stehen und sich der Gr&amp;ouml;&amp;szlig;e der darin liegenden &lt;strong&gt;Border &lt;/strong&gt;Objekte anpassen,&amp;nbsp;f&amp;uuml;hrt eine Animation der &lt;strong&gt;Border&lt;/strong&gt; Objekte letztlich zu einer Animation des Gesamtlayouts. Der gro&amp;szlig;e Nachteil dabei ist aber, dass man dann das gesamte Layout selber berechnen muss, denn so etwas Praktisches wie &lt;strong&gt;GridUnitType.Star&lt;/strong&gt; st&amp;uuml;nde einem dann nicht zur Verf&amp;uuml;gung. Also scheint es doch sinnvoll zu sein, ein wenig &amp;uuml;ber die Animation von &lt;strong&gt;GridLength&lt;/strong&gt; Objekten nachzudenken.&lt;/p&gt;
&lt;h2&gt;L&amp;ouml;sungsansatz in Silverlight&lt;/h2&gt;
&lt;p&gt;Gl&amp;uuml;cklicherweise konnte ich mich an einen Artikel von &lt;a href="http://www.charlespetzold.com/" target="_blank"&gt;Charles Petzold&lt;/a&gt; erinnern, in dem er eines seiner Beispiele aus seinem WPF Buch auf Silverlight ans Laufen gebracht hat. Er demonstriert darin, wie man die WPF Animation &lt;strong&gt;MatrixAnimationUsingPath&lt;/strong&gt; unter Silverlight nachbaut (siehe &lt;a href="http://www.charlespetzold.com/blog/2008/11/250534.html" target="_blank"&gt;hier&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Meine Klasse &lt;strong&gt;MaximizeRestoreAnimation&lt;/strong&gt; funktioniert nach dieser Vorlage. Die Grundidee besteht darin, sich in das &lt;strong&gt;Rendering&lt;/strong&gt; Event der Klasse &lt;strong&gt;CompositionTarget&lt;/strong&gt; einzuklinken. Dieser Event wird vor dem Rendern jedes einzelnen Frames aufgerufen und dient zur Berechnung des n&amp;auml;chsten Animationsschrittes. Hier ein Quellcodeauszug:&lt;/p&gt;
&lt;pre class="brush: c-sharp;"&gt;void OnCompositionTargetRendering(object sender, EventArgs e)
{
  // Comes here for every rendered frame, so don't waste performance if nothing is to animate
  if (!(_startAnimation || _running))
    return;

  // Prevent division by zero
  if (!Duration.HasTimeSpan)
    return;

  // Calculate progress using the storyboard Ticks
  double progress = (double)Storyboard.GetCurrentTime().Ticks / Duration.TimeSpan.Ticks;

  if (_startAnimation)
  {
    // switch to running
    _startAnimation = false;
    _running = true;
  }

  if (_maximized)
    AnimateMaximize(progress);
  else
    AnimateRestore(progress);
}
&lt;/pre&gt;
&lt;p&gt;Mit Hilfe eines Storyboards wird der Fortschritt der Animation als eine Zahl zwischen 0 und 1 berechnet. Diese Zahl dient dann zum Skalieren der Breiten und H&amp;ouml;hen der Grid Rows/Columns. Petzolds Trick besteht darin, so viel wie m&amp;ouml;glich von der vorhandenen Silverlight Infrastruktur zu nutzen. So wird beispielsweise mit &lt;strong&gt;Storyboard.GetCurrentTime().Ticks&lt;/strong&gt; der aktuelle Fortschritt der Animation berechnet.&lt;/p&gt;
&lt;p&gt;Da die Startwerte der Animationen von der aktuellen Gr&amp;ouml;&amp;szlig;e des Browser Fensters abh&amp;auml;ngen, muss man diese vor dem ersten Animationsschritt zun&amp;auml;chst ermitteln. Au&amp;szlig;erdem muss man f&amp;uuml;r bestimmte Elemente den &lt;strong&gt;GridUnitType&lt;/strong&gt; &amp;auml;ndern.&lt;/p&gt;
&lt;pre class="brush: c-sharp;"&gt;void StartMaximize()
{
  _lrc0Width = MainPage.LayoutRoot.ColumnDefinitions[0].ActualWidth;
  _lrc2Width = MainPage.LayoutRoot.ColumnDefinitions[2].ActualWidth;

  MainPage.LayoutRoot.ColumnDefinitions[0].Width = new GridLength(_lrc0Width);
  MainPage.LayoutRoot.ColumnDefinitions[1].Width = new GridLength(1, GridUnitType.Star);
  MainPage.LayoutRoot.ColumnDefinitions[2].Width = new GridLength(_lrc2Width);

  MainPage.InnerLayout.RowDefinitions[0].Height = new GridLength(100);
  MainPage.InnerLayout.RowDefinitions[1].Height = new GridLength(1, GridUnitType.Star);
  MainPage.InnerLayout.RowDefinitions[2].Height = new GridLength(30);
  MainPage.InnerLayout.ColumnDefinitions[0].Width = new GridLength(180);
  MainPage.InnerLayout.ColumnDefinitions[1].Width = new GridLength(1, GridUnitType.Star);
}
&lt;/pre&gt;
&lt;p&gt;Nun kann bei jedem Redering Event die Gr&amp;ouml;&amp;szlig;e der einzelnen Grids entsprechend skaliert werden. Die Animation sieht dabei insgesamt noch etwas geschmeidiger aus, wenn man den linearen Zeitverlauf durch eine Ease Funktion etwas modifiziert. Mit einem &lt;strong&gt;PowerEase&lt;/strong&gt; Objekt wird&amp;nbsp;die Bewegung kurz vor Erreichen der Endposition leicht abgebremst. Hier exemplarisch der Code f&amp;uuml;r &lt;strong&gt;AnimateMaximize&lt;/strong&gt;:&lt;/p&gt;
&lt;pre class="brush: c-sharp;"&gt;void AnimateMaximize(double progress)
{
  var factor = 1 - new PowerEase { EasingMode = EasingMode.EaseOut, Power = 3 }.Ease(progress);

  MainPage.LayoutRoot.ColumnDefinitions[0].Width = new GridLength(factor * _lrc0Width);
  MainPage.LayoutRoot.ColumnDefinitions[2].Width = new GridLength(factor * _lrc2Width);

  MainPage.InnerLayout.RowDefinitions[0].Height = new GridLength(factor * 100);
  MainPage.InnerLayout.RowDefinitions[2].Height = new GridLength(factor * 30);
  MainPage.InnerLayout.ColumnDefinitions[0].Width = new GridLength(factor * 180);
}
&lt;/pre&gt;
&lt;p&gt;F&amp;uuml;r Restore ist die Implementierung analog.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.st-lange.net/samples/2009-11-SilverlightGridAnimation/GridAnimation.html" target="_blank"&gt;Hier das Endergebnis zum Ausprobieren&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Zwar ist die L&amp;ouml;sung letzlich ein Hack, funktioniert aber wesentlich besser als beispielsweise ein Rumtricksen mit einem &lt;strong&gt;DispatcherTimer&lt;/strong&gt;. Der Animationscode ist komplett in einer eigenen Klasse versteckt und zieht sich nicht durch die Code Behind Datei. Au&amp;szlig;erdem werden durch die Verwendung des Rendering Events exakt so viele Animationsschritte berechnet, wie Silverlight in der entsprechenden Zeit Frames rendert. Das sorgt f&amp;uuml;r einen ruckelfreien Verlauf.&lt;/p&gt;
&lt;p&gt;Ein weiterer Vorteil in der direkten Animation der &lt;strong&gt;GridLenth&lt;/strong&gt; Objekte liegt darin, dass keinerlei besondere Vorkehrungen im XAML Code gemacht werden m&amp;uuml;ssen. So kann die Animation auch nachtr&amp;auml;glich in eine bestehende Anwendung eingebaut werden und es m&amp;uuml;ssen keine Hilfsobjekte (wie &lt;strong&gt;Border &lt;/strong&gt;oder etwas vergleichbares) nur zum Zweck der Animation eingef&amp;uuml;hrt werden.&lt;/p&gt;
&lt;p&gt;Das gezeigte Verfahren l&amp;auml;sst sich leicht auf andere Situationen anpassen, bei denen Datentypen animiert werden m&amp;uuml;ssen, f&amp;uuml;r die es keine&amp;nbsp;vordefinierten Animation gibt.&lt;/p&gt;
&lt;p&gt;Hier der gesamte Quellcode zum downloaden:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.st-lange.net/file.axd?file=2009%2f11%2fSilverlightGridAnimation.zip"&gt;SilverlightGridAnimation.zip&lt;/a&gt; (16,10 kb)&lt;/p&gt;</description><pubDate>Mon, 09 Nov 2009 22:18:00 +0100</pubDate><a10:rights type="text">Stefan Lange</a10:rights><a10:contributor><a10:name>Stefan Lange</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stefan Lange</dc:creator></item><item><guid isPermaLink="false">http://www.codefest.at/post.aspx?id=7d0e1336-3d8b-46a7-b81d-f49118dac1b1</guid><link>http://feedproxy.google.com/~r/MsdnAustria/~3/v1U0Omj_1t0/post.aspx</link><a10:author><a10:name>msdn Austria [MS]</a10:name></a10:author><title>3. Interoperability Council – Impressionen</title><description>&lt;p&gt;Letzten Donnerstag, am 5. November 2009, fand im Microsoft Innovation Center&amp;#160; unser drittes Microsoft Interoperability Council statt.    &lt;br /&gt;&lt;a href="http://www.codefest.at/image.axd?picture=image_38.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="image" border="0" alt="image" align="left" src="http://www.codefest.at/image.axd?picture=image_thumb_34.png" width="248" height="149" /&gt;&lt;/a&gt;Das Interoperability Council ist ein Expertenkreis, mit dem wir gemeinsam für Österreich relevante Herausforderungen bezüglich Interoperabilität zwischen der Microsoft Plattform und anderen Plattformen identifizieren und potentielle Lösungswege erarbeiten. Das Council wurde am 10. Februar 2009 mit dem ersten Treffen ins Leben gerufen.     &lt;br /&gt;Im Rahmen dieses 3. Councils konnten wir die ersten Ergebnisse aus den vergangenen acht Monaten präsentieren und potentielle Initativen und Projekte für das nächste Jahr diskutieren. Diese werden in den nächsten Monaten durch das Council konkretisiert.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;e-card und Microsoft .NET        &lt;br /&gt;Sicherstellung der Interoperabilität neuer Schnittstellen.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codefest.at/image.axd?picture=Interop.%20Council%205.11.2009%20007.jpg"&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Interop. Council 5.11.2009 007" border="0" alt="Interop. Council 5.11.2009 007" align="right" src="http://www.codefest.at/image.axd?picture=Interop.%20Council%205.11.2009%20007_thumb.jpg" width="197" height="133" /&gt;&lt;/a&gt; Zur einem der beiden großen Interoperability-Labs der vergangenen Monate, welches wir gemeinsam mit SVC GmbH. vorangetrieben haben, wurde im Rahmen des Councils eine Pressemitteilung veröffentlicht. Rainer Schügerl, Bereichsleiter Technik und Mario Szpuszta, Architekt Advisor bei Microsoft, haben das Projekt vorgestellt.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.microsoft.com/austria/presse/pressemeldung1825.mspx?ID=42d6b719-45ef-4eab-9613-45b8db24d1e9" target="_blank"&gt;Klicken Sie hier, um zur Presse-Ankündigung über dieses Projekt zu kommen.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Sämtliche technischen Details und Hintergründe zu diesem Projekt finden Sie in nachfolgenden Blogeinträgen:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.codefest.at/post/2009/10/19/Sicherstellung-der-Kompatibilitat-von-NETWCF-und-den-e-card-Services-UZE-und-ABS-Interoperability-Lab-mit-SV-Chipkarten-Betriebs-und-Errichtungsgesellschaft-mbH-erfolgreich-abgeschlossen!.aspx" target="_blank"&gt;Details auf codefest.at über das Interoperability-Lab&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://blogs.msdn.com/mszcool/archive/2009/10/19/windows-communication-foundation-and-soap-with-attachments-message-encoder-built-in-interop-lab-with-svc-sozialversicherungs-chipkarten-betriebs-und-errichtungsgesellschaft-m-b-h.aspx" target="_blank"&gt;Technische Details am Blog von Mario Szpuszta&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://wcfswaencoder.codeplex.com/" target="_blank"&gt;Ergebnisse (Source, Beschreibungen) auf Codeplex als Open Source Projekt&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;strong&gt;&lt;u&gt;Vielen Dank an alle Beteiligten&lt;/u&gt;&lt;/strong&gt; und an jene Mitglieder des Interop-Councils, die dieses Projekt ermöglicht haben: &lt;em&gt;Rainer Schügerl (Bereichsleiter Technik, SVC), Thomas Woisetschläger (Partner Support, SVC), Nenad Jovanovic (Senior Developer, SVC), Stefan Machura (Architect, SVC), Roland Pezzei (Architect, SVC), Mario Szpuszta (Architect Advisor, Microsoft).&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Portal-Verbund-Protokoll und die Microsoft Plattform        &lt;br /&gt;Veröffentlichung von Open Source Komponenten und Dokumentation&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Das &lt;a href="http://www.digitales.oesterreich.gv.at/site/5288/default.aspx" target="_blank"&gt;Portal-Verbund-Protokoll (kurz PVP)&lt;/a&gt; ist der eGovernment-Standard zur Vernetzung und Integration von Portalen im öffentlichen Bereich. Weitere Informationen zu dieser Spezifikation finden Sie &lt;a href="http://reference.e-government.gv.at/Portalverbund.577.0.html" target="_blank"&gt;hier.&lt;/a&gt;&lt;a href="http://www.codefest.at/image.axd?picture=image_39.png"&gt;&lt;img style="border-right-width: 0px; margin: 10px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://www.codefest.at/image.axd?picture=image_thumb_35.png" width="244" height="124" /&gt;&lt;/a&gt;Die Frage nach der Untestützung und Verwendung von PVP ist daher natürlich für die Microsoft Plattform ein zentrales Thema. Entsprechend wurde PVP als eines der Top-Themen im ersten Treffen des Councils identifiziert. Zahlreiche Unternehmen, von kleinen und großen Partnern bis hin zu Kunden im privaten und öffentlichen Sektor könnten von einer klaren Guidance oder gar von Komponenten profitieren, die zeigen, wie PVP mit Hilfe der Microsoft Plattform (allen voran .NET) als Protokoll unterstützt werden kann.&lt;/p&gt;  &lt;p&gt;Daher haben wir für dieses Thema unser größtes Interoperability Lab in mehreren Schritten veranstaltet. Die Ergebnisse können sich ebenfalls sehen lassen:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://egora.codeplex.com/" target="_blank"&gt;Veröffentlichung von PVP-Komponenten als Open Source Projekt auf Codeplex&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://egora.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=91043" target="_blank"&gt;Publikation eines Whitepapers, welches zeigt, wie mit diesen Komponenten      &lt;br /&gt;Stammportale und Anwendungsportale auf Basis Microsoft .NET       &lt;br /&gt;konfiguriert und Entwickelt werden können.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Die veröffentlichten Open Source Komponenten stammen zu einem großen Teil aus der &lt;a href="http://www.egora.at" target="_blank"&gt;egora-Initative&lt;/a&gt;und die ersten Komponenten wurden durch das Interoperability Council schlussendlich als Open Source veröffentlicht. Darüber hinaus konnten wir im Rahmen des PVP Interop-Labs weitere Anforderungen erarbeiten sowie “Proven Practices” aus der Praxis identifizieren. Aus diesen Aktivitäten wurden die PVP-Komponenten aus egora um einige Module erweitert, die ebenfalls als Open Source publiziert wurden. Zum Abschluss haben wir das Whitepaper auf Basis dieser Komponenten und der Erfahrungen aus der Praxis verfasst und veröffentlicht.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Vielen Dank an alle Beteiligten&lt;/u&gt;&lt;/strong&gt; und an jene Mitglieder des Interop-Councils, die dieses Projekt ermöglicht haben: &lt;em&gt;Peter Reichstädter (Bundeskanzleramt), Dietmar Wehinger (ACE), Thomas Kutha (Rubicon), Werner Kugler (Rubicon), Günter Fischer (BRZ), Dietmar Gombotz (LFRZ), Peter Pfläging (AGIZ), Rainer Hörbe (AGIZ), Benedikt Redl (Microsoft), Konstantin Dotchkoff (Microsoft), Mario Szpuszta (Microsoft)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Identity Interoperability – Zusammenfassung von Informationen&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codefest.at/image.axd?picture=Interop.%20Council%205.11.2009%20025.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Interop. Council 5.11.2009 025" border="0" alt="Interop. Council 5.11.2009 025" align="right" src="http://www.codefest.at/image.axd?picture=Interop.%20Council%205.11.2009%20025_thumb.jpg" width="187" height="126" /&gt;&lt;/a&gt;Auch das Thema Interoperability im Bereich “Digitale Identitäten” wurde als ein Thema im Rahmen des Councils identifiziert. Auf Basis der Diskussionen des Councils haben wir (Microsoft, Mario Szpuszta) einen Artikel verfasst, der die Möglichkeiten der Interoperabilität zwischen Plattformen in diesem Bereich zusammenfasst. In diesem Blog-Eintrag finden Sie Informationen zur Integration zwischen Microsoft und anderen Systemen wie Sun Metro / WSIT, Sun Open SSO, Novell Access Manager oder auch Open ID un Shibboleth.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/mszcool/archive/2009/11/05/identity-interop-update-for-our-interoperability-council-adfs-v2-and-wif-interop-with-sun-opensso-novell-access-manager-ca-openid-and-sun-metro-wsit.aspx" target="_blank"&gt;Klicken Sie hier, um zum Artikel zu gelangen.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Abschließende Anmerkungen&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Die ersten Erfolge des Interop-Councils zeigen, dass sich manche (nicht alle;)) Herausforderungen sehr rasch durch &lt;a href="http://www.codefest.at/image.axd?picture=Interop.%20Council%205.11.2009%20029.jpg"&gt;&lt;img style="border-right-width: 0px; margin: 10px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Interop. Council 5.11.2009 029" border="0" alt="Interop. Council 5.11.2009 029" align="left" src="http://www.codefest.at/image.axd?picture=Interop.%20Council%205.11.2009%20029_thumb.jpg" width="241" height="162" /&gt;&lt;/a&gt;gemeinsamen und pragmatischen Einsatz von Ressourcen in einer Form lösen lassen, von welcher die österreichischen Entwickler, Architekten und Unternehmen profitieren.&lt;/p&gt;  &lt;p&gt;Im Rahmen des Councils wurden bereits weitere Ideen diskutiert, die in den nächsten Monaten konkretisiert werden. Einige spannende Themen werden sich etwa mit PVP 2.0 (SAML, Shibboleth) Interoperabilität und Microsoft (ADFS v2, WIF) beschäftigen. Auch Workshop-Tage zu den veröffentlichten Projekten auf technischer Ebene für österreichische Entwickler und Architekten wurden als Idee diskutiert.&lt;/p&gt;  &lt;p&gt;Wir sind auf jeden Fall gespannt, welche konkreten Projekte die Mitglieder unseres Council aufkommen werden und freuen uns schon auf diese!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ihre Developer &amp;amp; Platform Group&lt;/strong&gt;&lt;/p&gt;</description><pubDate>Mon, 09 Nov 2009 18:48:42 +0100</pubDate><a10:rights type="text">msdn Austria [MS]</a10:rights><a10:contributor><a10:name>msdn Austria [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">msdn Austria [MS]</dc:creator></item><item><guid isPermaLink="false">http://www.giza-blog.de/PermaLink,guid,7faa4909-6809-4ab3-95ea-d8bceb6aceab.aspx</guid><link>http://www.giza-blog.de/MicrosoftTechEdEurope2009InBerlinErfolgreichEroeffnetTee09.aspx</link><a10:author><a10:name>Kay Giza [MS]</a10:name></a10:author><title>Microsoft TechEd Europe 2009 in Berlin erfolgreich eroeffnet ( #tee09 )</title><description>&lt;p&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Heute
war ein wirklich interessante und schöner Tag, er eigentliche Beginn der TechEd Europe
2009!&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;Wie ich
berichtete, bin ich am &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fwww.giza-blog.de%2fWindows7UndIE8StandAufDerMicrosoftTechEdEurope2009Tee09.aspx" target=_blank&gt;&lt;font size=2&gt;Windows
7 / Internet Explorer 8&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; Stand. Ich hatte heute viele interessante
Gespräche und habe auch einige Fragen mitgenommen, die ich die nächsten Tage per&amp;nbsp;
Weblog beantworten möchte. &lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fgermany%2funternehmen%2finformationen%2fgmbh_profil%2fmanagement.mspx%3fprofile%3d%7b85b1ed36-c0cf-4832-8b20-5ca2bc9d91fa%7d" target=_blank&gt;Achim
Berg&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;,
Vorsitzender der Geschäftsführung von Microsoft Deutschland, hat heute die TechEd
Europe 2009 in Berlin eröffnet. Er begrüßte auf der ausverkauften Veranstaltung, die
bis zum 13. November im Messezentrum stattfindet, insgesamt 6.800 Teilnehmer aus 104
Ländern. Neben &lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fwww.giza-blog.de%2fExchangeServer2010AbSofortVerfuegbarTee09.aspx" target=_blank&gt;Microsoft
Exchange Server 2010&lt;/a&gt;, Windows 7 und Microsoft Server 2008 R2 werden zahlreiche
Neuerungen für Entwickler vorgestellt. Die TechEd Europe bietet IT-Professionals und
Entwickler an fünf Tagen insgesamt 322 Breakout Sessions sowie 300 Partner Sessions
und Networking-Möglichkeiten.&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&amp;nbsp;&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;In Ihren
Eröffnungsreden gaben Dr. &lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fwww.msdn-online.de%2fPingMe%2fSaidZahedani" target=_blank&gt;Said
Zahedani&lt;/a&gt;, Senior Director der Developer Platform &amp;amp; Strategy Group der Microsoft
Deutschland GmbH, der die Teilnehmer der TechEd heute in der Developer Keynote begrüßte
sowie Achim Berg einen sehr persönlichen Rückblick auf das heutige historische Datum: &lt;/font&gt;&lt;em&gt;&lt;font size=2&gt;"Wie
Millionen andere Menschen saß auch ich am 9. November 1989 wie gebannt vor dem Fernseher
und verfolgte live den Fall der Berliner Mauer.&lt;/font&gt;&lt;/em&gt;&lt;font size=2&gt;", so Berg.
Entsprechend unterstützt Microsoft Deutschland das neue virtuelle Gesamtkunstwerk
"&lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fwww.giza-blog.de%2f20JahreMauerfallDasBerlinMosaikFotosMachenSieMitTEE0920jmf.aspx" target=_blank&gt;BerlinMosaik&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt;",
das die beiden Bekannten &amp;amp; Freunde &lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=https%3a%2f%2fwww.xing.com%2fprofile%2fLars_Beckmann4%2fN1.2.1.8da58c" target=_blank&gt;Lars
Beckmann&lt;/a&gt; und &lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=https%3a%2f%2fwww.xing.com%2fprofile%2fSascha_Ackermann2%2fN1.2.1.075e10" target=_blank&gt;Sascha
Ackermann&lt;/a&gt; zum Jubiläum gestartet haben. Microsoft ruft alle Nutzer auf, bei diesem
Projekt mitzumachen.&lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&amp;nbsp;&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;Microsoft
präsentiert auf der TechEd Europe 2009 zahlreiche Neuigkeiten für IT-Professionals
sowie Entwickler. So ist ab sofort &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;Forefront Protection
2010 für Exchange Server&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt; zur Absicherung der Geschäftsinformationen
erhältlich. Testversionen von &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;Forefront Protection 2010
und &lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fwww.giza-blog.de%2fExchangeServer2010AbSofortVerfuegbarTee09.aspx" target=_blank&gt;Exchange
Server 2010&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt; sowie weitere Informationen zu &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;Windows
7, Windows Server 2008 R2 und Partner-Lösungen&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt; gibt es
unter &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fwww.thenewefficiency.com" target=_blank&gt;&lt;font size=2&gt;http://www.thenewefficiency.com&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;. &lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&amp;nbsp;&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;Die Community
Technology Preview für &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;SQL Server 2008 R2&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt; lässt
sich nun unter &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fsqlserver%2f2008%2fen%2fus%2fhow-to-buy.aspx" target=_blank&gt;&lt;font size=2&gt;http://www.microsoft.com/sqlserver/2008/en/us/how-to-buy.aspx&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; herunterladen.
Zur Erstellung von mehrsprachigen Websites und Client-Anwendungen gibt es &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;Beta-Versionen
von Microsoft Translator Widgets und APIs&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt; (Application
Programming Interfaces) - welches ich hier im Weblog bereits nutze, mehr dazu im Team-Blog
unter &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fblogs.msdn.com%2ftranslation%2f" target=_blank&gt;&lt;font size=2&gt;http://blogs.msdn.com/translation/&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;.
Zudem wird die Microsoft Trustworthy Computing Group neue Richtlinien herausgeben,
die auch im Agilen Entwicklungsprozess die Integration des &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fde-de%2fsecurity%2fcc448177.aspx" target=_blank&gt;&lt;strong&gt;&lt;font size=2&gt;Secure
Development Lifecycle (SDL)-Prozesses&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;font size=2&gt; direkt in Softwareentwicklungsumgebungen
ermöglicht. Damit erhalten Entwickler mehr Möglichkeiten, sichere Anwendungen zu erstellen.&lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&amp;nbsp;&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;Microsoft
hat heute auch die Übernahme der &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fwww.giza-blog.de%2fIntegrationVonTeampriseLoesungenInVisualStudio2010Tee09.aspx" target=_blank&gt;Teamprise-Angebote
von SourceGear LLC&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt; angekündigt. &lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&amp;nbsp;&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;&lt;strong&gt;Weitere
Informationen zur &lt;/strong&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fpresspass%2fevents%2fteched%2fdefault.mspx" target=_blank&gt;&lt;strong&gt;Microsoft
TechEd Europe 2009&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.giza-blog.de/aggbug.ashx?id=7faa4909-6809-4ab3-95ea-d8bceb6aceab" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
&lt;font face="Verdana" style="font-size: 8pt"&gt;This post is powered by &lt;a href="http://www.giza-blog.de" target="_blank" xmlns="http://www.w3.org/1999/xhtml"&gt;www.Giza-Blog.de&lt;/a&gt; | &lt;/font&gt; &lt;a target="_blank" title="Giza-Blog.de: RSS 2.0 Feed" href="http://www.giza-blog.de/SyndicationService.asmx/GetRss"&gt; &lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;img class="rssLinkImageStyle" title="RSS 2.0" style="border-width: 0px; vertical-align: middle;" alt="Giza-Blog.de: RSS Feed" src="http://www.giza-blog.de/images/feed-icon-16x16.gif" width="16" height="16" align="absmiddle" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;
&lt;br xmlns="http://www.w3.org/1999/xhtml" /&gt;
&lt;b&gt;Visit:&amp;nbsp;&lt;/b&gt;&amp;nbsp;&lt;a href="http://msdn.microsoft.com/de-de/" target="_blank" title="Microsoft Developer Network Germany Online"&gt;MSDN
Online&lt;/a&gt; | &lt;a href="http://twitter.com/MSDN_News" target="_blank"&gt;Follow MSDN Online
on Twitter&lt;/a&gt; | &lt;a href="http://twitter.com/Meverick" target="_blank"&gt;Follow Kay
Giza on Twitter&lt;/a&gt;
&lt;br&gt;
&lt;b&gt;Daily News on MSDN:&amp;nbsp;&lt;/b&gt; &amp;nbsp;&lt;a href="http://www.microsoft.com/germany/msdn/aktuell/" target="_blank"&gt;MSDN
Aktuell&lt;/a&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="font-family: Verdana; font-size: 8pt"&gt;© &lt;/span&gt; &lt;font face="Verdana" style="font-size: 8pt"&gt;Copyright
2006-2009 Kay Giza. All rights reserved. &lt;a href="http://www.giza-blog.de/impressum.aspx" target="_blank"&gt;Legal&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;</description><pubDate>Mon, 09 Nov 2009 18:00:45 Z</pubDate><a10:rights type="text">Kay Giza [MS]</a10:rights><a10:contributor><a10:name>Kay Giza [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kay Giza [MS]</dc:creator></item><item><guid isPermaLink="false">http://www.giza-blog.de/PermaLink,guid,d82dae93-e258-41bf-b807-72e4f6ce957a.aspx</guid><link>http://www.giza-blog.de/IntegrationVonTeampriseLoesungenInVisualStudio2010Tee09.aspx</link><a10:author><a10:name>Kay Giza [MS]</a10:name></a10:author><title>Integration von Teamprise-Loesungen in Visual Studio 2010 ( #tee09 )</title><description>&lt;p&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;Microsoft
hat heute auch - währende der Developer Keynote gehalten von Dr. &lt;a href="http://www.giza-blog.de/ct.ashx?id=d82dae93-e258-41bf-b807-72e4f6ce957a&amp;amp;url=http%3a%2f%2fwww.msdn-online.de%2fPingMe%2fSaidZahedani" target=_blank&gt;Said
Zahedani&lt;/a&gt; und &lt;a href="http://www.giza-blog.de/ct.ashx?id=d82dae93-e258-41bf-b807-72e4f6ce957a&amp;amp;url=http%3a%2f%2fblogs.msdn.com%2fjasonz%2f" target=_blank&gt;Jason
Zander&lt;/a&gt; - die Integration der &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=d82dae93-e258-41bf-b807-72e4f6ce957a&amp;amp;url=http%3a%2f%2fwww.teamprise.com" target=_blank&gt;&lt;font size=2&gt;Teamprise-Angebote&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; von
SourceGear LLC in Visual Studio angekündigt . &lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;Damit
können Entwickler, die die Eclipse IDE nutzen oder auf multiplen Betriebssystemen
inklusive Unix, Linux und Mac OS X arbeiten, Anwendungen mit Hilfe von &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=d82dae93-e258-41bf-b807-72e4f6ce957a&amp;amp;url=http%3a%2f%2fwww.microsoft.de%2fvisualstudio" target=_blank&gt;&lt;font size=2&gt;Microsoft
Visual Studio Team Foundation Server&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; erstellen. Sie profitieren
damit von verbesserter Integration in heterogene Umgebungen sowie kürzeren Entwicklungszeiten
und höherer Produktivität. Die Funktionalität der Teamprise Client Suite wird in &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=d82dae93-e258-41bf-b807-72e4f6ce957a&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fde-de%2fvstudio%2fdd582936.aspx" target=_blank&gt;&lt;font size=2&gt;Visual
Studio 2010&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; integriert sein.&amp;nbsp;&lt;br&gt;
&lt;br&gt;
Mehr Informationen findet man in der englischsprachigen Presse-Mitteilung: &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=d82dae93-e258-41bf-b807-72e4f6ce957a&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fpresspass%2fpress%2f2009%2fnov09%2f11-09teamprisepr.mspx" target=_blank&gt;&lt;font size=2&gt;Microsoft
Acquires Teamprise Assets, Provides Cross-Platform Support for Visual Studio&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.giza-blog.de/aggbug.ashx?id=d82dae93-e258-41bf-b807-72e4f6ce957a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
&lt;font face="Verdana" style="font-size: 8pt"&gt;This post is powered by &lt;a href="http://www.giza-blog.de" target="_blank" xmlns="http://www.w3.org/1999/xhtml"&gt;www.Giza-Blog.de&lt;/a&gt; | &lt;/font&gt; &lt;a target="_blank" title="Giza-Blog.de: RSS 2.0 Feed" href="http://www.giza-blog.de/SyndicationService.asmx/GetRss"&gt; &lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;img class="rssLinkImageStyle" title="RSS 2.0" style="border-width: 0px; vertical-align: middle;" alt="Giza-Blog.de: RSS Feed" src="http://www.giza-blog.de/images/feed-icon-16x16.gif" width="16" height="16" align="absmiddle" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;
&lt;br xmlns="http://www.w3.org/1999/xhtml" /&gt;
&lt;b&gt;Visit:&amp;nbsp;&lt;/b&gt;&amp;nbsp;&lt;a href="http://msdn.microsoft.com/de-de/" target="_blank" title="Microsoft Developer Network Germany Online"&gt;MSDN
Online&lt;/a&gt; | &lt;a href="http://twitter.com/MSDN_News" target="_blank"&gt;Follow MSDN Online
on Twitter&lt;/a&gt; | &lt;a href="http://twitter.com/Meverick" target="_blank"&gt;Follow Kay
Giza on Twitter&lt;/a&gt;
&lt;br&gt;
&lt;b&gt;Daily News on MSDN:&amp;nbsp;&lt;/b&gt; &amp;nbsp;&lt;a href="http://www.microsoft.com/germany/msdn/aktuell/" target="_blank"&gt;MSDN
Aktuell&lt;/a&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="font-family: Verdana; font-size: 8pt"&gt;© &lt;/span&gt; &lt;font face="Verdana" style="font-size: 8pt"&gt;Copyright
2006-2009 Kay Giza. All rights reserved. &lt;a href="http://www.giza-blog.de/impressum.aspx" target="_blank"&gt;Legal&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;</description><pubDate>Mon, 09 Nov 2009 17:53:59 Z</pubDate><a10:rights type="text">Kay Giza [MS]</a10:rights><a10:contributor><a10:name>Kay Giza [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kay Giza [MS]</dc:creator></item><item><guid isPermaLink="false">http://www.giza-blog.de/PermaLink,guid,b7170bca-75b0-4421-bbd9-244d9d423322.aspx</guid><link>http://www.giza-blog.de/20JahreMauerfallDasBerlinMosaikFotosMachenSieMitTEE0920jmf.aspx</link><a10:author><a10:name>Kay Giza [MS]</a10:name></a10:author><title>20 Jahre Mauerfall: Das Berlin-Mosaik (Fotos) - machen Sie mit! ( #TEE09 #20jmf )</title><description>&lt;p&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fgermany%2funternehmen%2finformationen%2fgmbh_profil%2fmanagement.mspx%3fprofile%3d%7b85b1ed36-c0cf-4832-8b20-5ca2bc9d91fa%7d" target=_blank&gt;Achim
Berg&lt;/a&gt; (Vorsitzender der Geschäftsführung von Microsoft Deutschland) und &lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=http%3a%2f%2fwww.msdn-online.de%2fPingMe%2fSaidZahedani" target=_blank&gt;Said
Zahedani&lt;/a&gt; (Senior Director Developer Platform and Strategy Group, Microsoft Deutschland),
haben heute während Ihrer TechEd-Keynote etwas ganz besonderes vorgestellt. In ihren
Reden stellte sie mit "&lt;strong&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=http%3a%2f%2fwww.citymosaic.de%2f" target=_blank&gt;BerlinMosaik&lt;/a&gt;&lt;/strong&gt;"
ein virtuelles Gesamtkunstwerk basierend auf &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fde-de%2fsilverlight%2f" target=_blank&gt;&lt;font size=2&gt;Silverlight&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;-Technologie
vor, anlässlich des 20-jährigen Jubiläums des Mauerfalls . &lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;In seiner
Eröffnungsrede gab Achim Berg einen sehr persönlichen Rückblick auf das heutige historische
Datum: "&lt;/font&gt;&lt;em&gt;&lt;font size=2&gt;Wie Millionen andere Menschen saß auch ich am 9. November
1989 wie gebannt vor dem Fernseher und verfolgte live den Fall der Berliner Mauer.&lt;/font&gt;&lt;/em&gt;&lt;font size=2&gt;"
Entsprechend unterstützt Microsoft Deutschland das neue virtuelle Gesamtkunstwerk
"&lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=http%3a%2f%2fwww.citymosaic.de" target=_blank&gt;&lt;font size=2&gt;&lt;strong&gt;BerlinMosaik&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;",
das die Bekannten &amp;amp; Freunde &lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=https%3a%2f%2fwww.xing.com%2fprofile%2fLars_Beckmann4%2fN1.2.1.8da58c" target=_blank&gt;Lars
Beckmann&lt;/a&gt; und &lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=https%3a%2f%2fwww.xing.com%2fprofile%2fSascha_Ackermann2%2fN1.2.1.075e10" target=_blank&gt;Sascha
Ackermann&lt;/a&gt; zum Jubiläum gestartet haben. Nutzer können dabei Fotos in unterschiedliche
Communities wie &lt;strong&gt;Picasa, Twitter oder Flickr&lt;/strong&gt; hochladen und den Tag
"&lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=http%3a%2f%2fsearch.twitter.com%2fsearch%3fq%3d%252320jmf" target=_blank&gt;20jmf&lt;/a&gt;"
einbinden. Eine von den Künstlern entwickelte Applikation findet die Bilder und gliedert
sie in das Social Media-Projekt ein. Tausende von Fotos lassen sich dann gleichzeitig
zoomen oder neu anordnen. Realisiert wird das innovative Projekt über die Microsoft-Technologie &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fde-de%2fsilverlight%2f" target=_blank&gt;&lt;font size=2&gt;Silverlight
3&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; mit &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=http%3a%2f%2fg.msn.com%2fmh_mshp_de-DE%2f98765%3fhttp%3a%2f%2fwww.microsoft.com%2fgermany%2fmsdn%2fsolve%2fcodeclips%2flibrary.aspx%3fid%3dmsdn_de_27404%26%26HL%3d126859%26CM%3drss_click%26CE%3dMSDN2212" target=_blank&gt;&lt;font size=2&gt;Deep
Zoom&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;. Microsoft ruft alle Nutzer auf, bei diesem Projekt mitzumachen.&lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;Der Mauerfall
am 9.11.1989 hat eindrucksvoll gezeigt, was eine große Gemeinschaft bewirken kann.
Nur der Wille und die Hartnäckigkeit der demonstrierenden Massen haben die Wiedervereinigung
möglich gemacht. Wir möchten jetzt, 20 Jahre später, dem Volk ein Gesicht geben und
das &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;größte Fotomosaik&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt; der
Welt erschaffen. Jeder kann mithelfen und sich mit einem oder mehreren Bildern verewigen,
um damit seinen Eindruck des Mauerfalls, der Feierlichkeiten zum 20 jährigen Jubiläum
oder sonstigen Impressionen zu dem Thema allen Menschen mitteilen. Mehr Informationen
zum BerlinMosaik und den Teilnahmemöglichkeiten gibt es unter &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322&amp;amp;url=http%3a%2f%2fwww.citymosaic.de%2f" target=_blank&gt;&lt;font size=2&gt;&lt;strong&gt;http://www.citymosaic.de&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.giza-blog.de/aggbug.ashx?id=b7170bca-75b0-4421-bbd9-244d9d423322" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
&lt;font face="Verdana" style="font-size: 8pt"&gt;This post is powered by &lt;a href="http://www.giza-blog.de" target="_blank" xmlns="http://www.w3.org/1999/xhtml"&gt;www.Giza-Blog.de&lt;/a&gt; | &lt;/font&gt; &lt;a target="_blank" title="Giza-Blog.de: RSS 2.0 Feed" href="http://www.giza-blog.de/SyndicationService.asmx/GetRss"&gt; &lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;img class="rssLinkImageStyle" title="RSS 2.0" style="border-width: 0px; vertical-align: middle;" alt="Giza-Blog.de: RSS Feed" src="http://www.giza-blog.de/images/feed-icon-16x16.gif" width="16" height="16" align="absmiddle" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;
&lt;br xmlns="http://www.w3.org/1999/xhtml" /&gt;
&lt;b&gt;Visit:&amp;nbsp;&lt;/b&gt;&amp;nbsp;&lt;a href="http://msdn.microsoft.com/de-de/" target="_blank" title="Microsoft Developer Network Germany Online"&gt;MSDN
Online&lt;/a&gt; | &lt;a href="http://twitter.com/MSDN_News" target="_blank"&gt;Follow MSDN Online
on Twitter&lt;/a&gt; | &lt;a href="http://twitter.com/Meverick" target="_blank"&gt;Follow Kay
Giza on Twitter&lt;/a&gt;
&lt;br&gt;
&lt;b&gt;Daily News on MSDN:&amp;nbsp;&lt;/b&gt; &amp;nbsp;&lt;a href="http://www.microsoft.com/germany/msdn/aktuell/" target="_blank"&gt;MSDN
Aktuell&lt;/a&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="font-family: Verdana; font-size: 8pt"&gt;© &lt;/span&gt; &lt;font face="Verdana" style="font-size: 8pt"&gt;Copyright
2006-2009 Kay Giza. All rights reserved. &lt;a href="http://www.giza-blog.de/impressum.aspx" target="_blank"&gt;Legal&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;</description><pubDate>Mon, 09 Nov 2009 17:47:58 Z</pubDate><a10:rights type="text">Kay Giza [MS]</a10:rights><a10:contributor><a10:name>Kay Giza [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kay Giza [MS]</dc:creator></item><item><guid isPermaLink="false">http://www.giza-blog.de/PermaLink,guid,e51b0950-efcb-4f2c-8fe4-a14889eae678.aspx</guid><link>http://www.giza-blog.de/ExchangeServer2010AbSofortVerfuegbarTee09.aspx</link><a10:author><a10:name>Kay Giza [MS]</a10:name></a10:author><title>Exchange Server 2010 ab sofort verfuegbar ( #tee09 )</title><description>Wow - welch ein Tag heute auf TechEd Europe in Berlin! 
Microsoft Exchange Server 2010 ist ab sofort weltweit verfügbar. Dies hat Stephen Elop, President der Microsoft Business Division, in seiner Keynote eben während der TechEd Europe 2009 in Berlin bekannt gegeben. Mit Hilfe von Exchange Server 2010 können Unternehmen Kosten reduzieren, ihre Kommunikation schützen und die E-Mail-Nutzung optimieren. Im gemeinsamen Einsatz mit Windows 7 und Windows Server 2008 R2 lässt sich die Produktivität nochmals erhöhen... [... mehr in diesem Blogeintrag auf Giza-Blog.de]&lt;img width="0" height="0" src="http://www.giza-blog.de/aggbug.ashx?id=e51b0950-efcb-4f2c-8fe4-a14889eae678"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;This post is powered by
&lt;a href="http://www.giza-blog.de" target="_blank" xmlns="http://www.w3.org/1999/xhtml"&gt;www.Giza-Blog.de&lt;/a&gt; | &lt;/font&gt;
&lt;a target="_blank" title="Giza-Blog.de: RSS 2.0 Feed" href="http://www.giza-blog.de/SyndicationService.asmx/GetRss"&gt;
&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;
&lt;img class="rssLinkImageStyle" title="RSS 2.0" style="border-width: 0px; vertical-align: middle;" alt="Giza-Blog.de: RSS Feed" src="http://www.giza-blog.de/images/feed-icon-16x16.gif" width="16" height="16" align="absmiddle" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;&lt;br xmlns="http://www.w3.org/1999/xhtml" /&gt;
&lt;b&gt;Visit:&amp;nbsp;&lt;/b&gt;&amp;nbsp;&lt;a href="http://msdn.microsoft.com/de-de/" target="_blank" title="Microsoft Developer Network Germany Online"&gt;MSDN Online&lt;/a&gt; | 
&lt;a href="http://twitter.com/MSDN_News" target="_blank"&gt;Follow MSDN Online on 
Twitter&lt;/a&gt; | &lt;a href="http://twitter.com/Meverick" target="_blank"&gt;Follow Kay 
Giza on Twitter&lt;/a&gt;&lt;br&gt;&lt;b&gt;Daily News on MSDN:&amp;nbsp;&lt;/b&gt;
&amp;nbsp;&lt;a href="http://www.microsoft.com/germany/msdn/aktuell/" target="_blank"&gt;MSDN 
Aktuell&lt;/a&gt;&lt;br /&gt;
&lt;/font&gt;&lt;span style="font-family: Verdana; font-size: 8pt"&gt;© &lt;/span&gt;
&lt;font face="Verdana" style="font-size: 8pt"&gt;Copyright 2006-2009 Kay Giza. All rights reserved.
&lt;a href="http://www.giza-blog.de/impressum.aspx" target="_blank"&gt;Legal&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;</description><pubDate>Mon, 09 Nov 2009 17:40:02 Z</pubDate><a10:rights type="text">Kay Giza [MS]</a10:rights><a10:contributor><a10:name>Kay Giza [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kay Giza [MS]</dc:creator></item><item><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9919581</guid><link>http://blogs.msdn.com/cbinder/archive/2009/11/09/news-von-der-teched-microsoft-hat-die-teamprise-client-suite-gekauft.aspx</link><a10:author><a10:name>Christian Binder [MS]</a10:name></a10:author><title>News von der TechEd : Microsoft hat die Teamprise Client Suite gekauft</title><description>&lt;p&gt;&lt;a href="http://www.teamprise.com/" target="_blank"&gt;Teamprise&lt;/a&gt; hat ein Plug-In für die Eclipse IDE bereitgestellt, welches die gleichen Funktionen, wie der Team Explorer in Visual Studio hat. So können Java und .Net Teams mit dem Team Foundation Server arbeiten, man spart sich dadurch den Betrieb mehrerer ALM Plattformen. Warum also noch separate ALM Infrastrukturen pflegen?&lt;/p&gt;  &lt;p&gt;Mehr dazu &lt;a href=" http://blogs.msdn.com/bharry/archive/2009/11/09/microsoft-has-acquired-the-teamprise-client-suite.aspx" target="_blank"&gt;hier&lt;/a&gt; auf Brian Harry’s Blog. &lt;/p&gt;  &lt;p&gt;Chris&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9919581" width="1" height="1"&gt;</description><pubDate>Mon, 09 Nov 2009 16:01:03 Z</pubDate><a10:rights type="text">Christian Binder [MS]</a10:rights><a10:contributor><a10:name>Christian Binder [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Binder [MS]</dc:creator></item><item><guid isPermaLink="true">http://blog.kalmbach-software.de/de/2009/11/09/source-indexing-tfs-und-smbols-store/</guid><link>http://blog.kalmbach-software.de/de/2009/11/09/source-indexing-tfs-und-smbols-store/</link><a10:author><a10:name>Jochen Kalmbach</a10:name></a10:author><title>Source-Indexing (TFS) und Symbol-Store</title><description>Wer von Euch kennt das Problem: Der Kunde hat ein Absturz oder einen Hänger Deines Programmes. Das einzige was Du bekommst ist ein Dump-File (z.B. entweder via WER oder durch eigenes schreiben von MiniDumpWriteDump).
Jetzt beginnt für Dich das Problem:

Welche Version hat der Kunde?
Welche Source-Files brauche ich für diese Version?
Wo zum teu.. sind nochmals die passenden [...]</description><pubDate>Mon, 09 Nov 2009 14:51:33 Z</pubDate><a10:rights type="text">Jochen Kalmbach</a10:rights><a10:content type="html">&lt;p&gt;Wer von Euch kennt das Problem: Der Kunde hat ein Absturz oder einen Hänger Deines Programmes. Das einzige was Du bekommst ist ein Dump-File (z.B. entweder via &lt;a href="http://msdn.microsoft.com/en-us/isv/bb190483.aspx"&gt;WER&lt;/a&gt; oder durch eigenes schreiben von &lt;a href="http://blog.kalmbach-software.de/2008/12/13/writing-minidumps-in-c/"&gt;MiniDumpWriteDump&lt;/a&gt;).&lt;br /&gt;
Jetzt beginnt für Dich das Problem:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Welche Version hat der Kunde?
&lt;li&gt;Welche Source-Files brauche ich für diese Version?
&lt;li&gt;Wo zum teu.. sind nochmals die passenden PDBs und EXEn für diese Version?
&lt;/ol&gt;
&lt;p&gt;Mit diesem Fragen braucht man sich nicht beschäftigen, wenn man bei seinem Build Prozess noch zusätzlich zwei Dinge einbaut&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Source-Indexing
&lt;li&gt;Symbols-Store
&lt;/ol&gt;
&lt;h3&gt;Source-Indexing (mit dem TFS)&lt;/h3&gt;
&lt;p&gt;Source-Indexing sorgt dafür, dass in die Debug-Symole (PDB-Dateien) auch zusätzlich noch ein verweis auf die richtige TFS-Version eingefügt wird. Dadurch kann der Debugger (z.B. VS) man mit der PDB-Datei genau den passenden Source aus dem TFS holen, mit dem die DLL/EXE gebuildet wurde.&lt;br /&gt;
Um dies zu machen braucht man zwei Dinge: &amp;#8220;&lt;a href="http://www.microsoft.com/whdc/DevTools/Debugging/"&gt;Debugging Tools For Windows&lt;/a&gt;&amp;#8221; und &amp;#8220;&lt;a href="https://www.activestate.com/activeperl/downloads/"&gt;ActivePerl&lt;/a&gt;&amp;#8220;). Das Source-Indexing findet sich bei den Debugging Tools im Unterverzeichnis &amp;#8220;srcsrv&amp;#8221; (also z.B. C:\Program Files\Debugging Tools for Windows\srcsrv). Da die &amp;#8220;Skripts&amp;#8221; (leider) in Perl geschrieben sind, ist auch noch ActivePerl notwendig. Es reicht aber, wenn man die &lt;a href="http://downloads.activestate.com/ActivePerl/Windows/5.10/ActivePerl-5.10.1.1006-MSWin32-x86-291086.zip"&gt;ZIP-Datei&lt;/a&gt; runterlädt und vor dem Aufruf einfach den Pfad auch noch auf das entpackte ActivePerl setzt.&lt;/p&gt;
&lt;p&gt;Damit beim Source-Indexing auch der korrekte TFS-Server verwendet wird, muss man in der Datei &amp;#8220;srcsrv.ini&amp;#8221; die Zeile mit &amp;#8220;MYSERVER&amp;#8221; auf den richtigen TSF zeigen lassen.&lt;br /&gt;
&lt;code&gt;MYSERVER=http://my-tfs-machine:8080&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Jetzt muss man nach einen Build nur noch das Source-Indexing aufrufen und angeben, wo denn der Workstore und die PDBs liegen. Ich gebe der Einfachheithalber immer den Root aller Projekte an, welche ich gebuildet habe. Die Natchdatei sieht dann z.B. so aus (es kann auch direkt als eigenes Task in msbuild laufen):&lt;br /&gt;
&lt;code lang="DOS"&gt;&lt;br /&gt;
rem Merke mit mal den aktuellen Pfad, was die Root meiner Projekte und Ausgabe ist&lt;br /&gt;
set srvOrgDir=%CD%&lt;/p&gt;
&lt;p&gt;rem Setze den pfad auch zu dem Perl Zeugs...&lt;br /&gt;
path=%path%;"%CD%\Tools\srcsrv\ActivePerl-5.10.1.1006-MSWin32-x86-291086\perl\bin"&lt;/p&gt;
&lt;p&gt;rem Wechsle in das Verzeichnis wo die Source-Indexing Tools liegen (liegt bei mir auch im TFS)&lt;br /&gt;
cd .\Tools\srcsrv&lt;/p&gt;
&lt;p&gt;rem Rufe das Source-Indexing auf&lt;br /&gt;
call tfsindex.cmd -ALLROOT="%srvOrgDir%"&lt;/p&gt;
&lt;p&gt;rem Setze wieder den ursprünglichen Pfad&lt;br /&gt;
cd /D %srvOrgDir%&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Alternativ kann man natürlich auch das srcsrv-Verzeichnis im TFS ablegen (so hab ich es gemacht), dann muss man nicht sicherstellen, dass man auf dem Build-Rechner auch die Debugging-Tools installiert hat.&lt;/p&gt;
&lt;p&gt;Jetzt sollten nach einem Build alle PDB-Dateien mit der korrekten TFS-Version indiziert worden sein (dies erkennt man daran, dass ziemlich weit hinten in der PDB-Datei Einträge mit &amp;#8220;MYSERVER&amp;#8221; kommen&amp;#8230;; kann man z.B. in Notepad anschauen).&lt;/p&gt;
&lt;h3&gt;Symbol-Store&lt;/h3&gt;
&lt;p&gt;Oben haben wir jetzt die PDB-Dateien mit dem passenden Verweis auf den TFS ausgestattet. Jetzt müssen wir nur noch sicherstellen, dass wir zu einem beliebigen späteren Zeitpunkt nicht mehr nach dieser PDB-Datei (und den dazugehörigen EXEn) suchen müssen. Dies geschieht am einfachsten mit dem &amp;#8220;symstore&amp;#8221; aus den Debugging Tools for Windows. Dies speichert einfach alle PDBs/EXEn in ein Verzeichnis (am besten ein Netzwerkverzeichnis, wenn es später mehrere Verwenden wollen).&lt;br /&gt;
Das ablegen erfolgt dann ganz Simple durch:&lt;br /&gt;
&lt;code lang="DOS"&gt;&lt;br /&gt;
.\Tools\SymStore\Symstore.exe add /r /f .\*.* /s G:\MyProject\SymbolStore\Files /t "Project Name"&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Das war alles &lt;img src='http://blog.kalmbach-software.de/de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;h3&gt;Einstellungen in VS&lt;/h3&gt;
&lt;p&gt;Ok, fast&amp;#8230; denn man will das ganze ja auch noch verwenden&amp;#8230; dazu muss man in VS noch ein paar Einstellungen machen, da per default der &amp;#8220;Source-Server&amp;#8221; deaktiviert ist. Dies muss aktiviert werden:&lt;br /&gt;
&lt;a href="http://blog.kalmbachnet.de/files/SourceServerSupport01.PNG"&gt;&lt;img src="http://blog.kalmbachnet.de/files/SourceServerSupport01.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Jetzt muss man noch den Pfad zu den zuvor abgelegten Dateien eintragen:&lt;br /&gt;
&lt;a href="http://blog.kalmbachnet.de/files/SourceServerSupport02.PNG"&gt;&lt;img src="http://blog.kalmbachnet.de/files/SourceServerSupport02.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bekommt man jetzt ein Dump oder will in dieser EXE/DLL debuggen, so werden die Sourcen direkt vom TFS geholt (und in einem temporären Verzeichnis gespeichert) und man kann dies dann direkt debuggen.&lt;/p&gt;
&lt;p&gt;Ich hoffe, dass hilft dem ein oder anderen.&lt;/p&gt;
&lt;p&gt;PS: Beide Verfahren werden übrigens auch intern von Microsoft schon sehr lange eingesetzt (deswegen auch das Source-Indexing in Perl; PowerShell gab es damals noch nicht). Die gesamten Windows Sourcen sind so indiziert und (der wer darf &lt;img src='http://blog.kalmbach-software.de/de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; ) können dann via CCP die passenden indizierten PDB-Dateien abgefragt werden, welche dann z.B: in VS/WinDbg die passenden Source runterlädt.&lt;/p&gt;
&lt;p&gt;PPS: Wer das ganze noch für SubVersion haben will, kann es bei Stefan nachlesen:&lt;br /&gt;
&lt;a href="http://mcblogs.craalse.de/sku?title=source_server_und_symbol_server_setup_mi"&gt;Source Server und Symbol Server Setup mit Subversion&lt;/a&gt;&lt;/p&gt;
</a10:content><a10:contributor><a10:name>Jochen Kalmbach</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jochen Kalmbach</dc:creator></item><item><guid isPermaLink="false">http://www.des-eisbaeren-blog.de/post.aspx?id=75ecb440-da30-41a6-ba18-aedc1f7d1251</guid><link>http://www.des-eisbaeren-blog.de/post/2009/11/09/Performanceimplikationen-von-SystemTransactions.aspx</link><a10:author><a10:name>Golo Roden</a10:name></a10:author><title>Performanceimplikationen von System.Transactions</title><description>&lt;p&gt;In meinem Blogeintrag &lt;a href="http://www.des-eisbaeren-blog.de/post.aspx?id=e14e5e06-b0a6-4263-92d3-83f15b3282f4"&gt;Transaktionale Methoden&lt;/a&gt; habe ich vorgestellt, wie mit Hilfe von &lt;a href="http://www.postsharp.org/"&gt;PostSharp&lt;/a&gt; ein TransactionalAttribute f&amp;uuml;r .NET implementiert werden kann, das sich analog zu der @Transactional-Annotation von JEE verh&amp;auml;lt. Intern habe ich dabei den in .NET 2.0 eingef&amp;uuml;hrten Namensraum &lt;a href="http://msdn.microsoft.com/de-de/library/system.transactions.aspx"&gt;System.Transactions&lt;/a&gt; verwendet.&lt;/p&gt;  &lt;p&gt;Nun wurde als Kommentar zu diesem Blogeintrag die Frage gestellt, ob die Klasse TransactionScope generell verwendet werden k&amp;ouml;nne, oder ob man besser auf die klassischen ADO.NET-Transaktionen zur&amp;uuml;ckgreifen sollte, weil diese angeblich performanter seien.&lt;/p&gt;  &lt;p&gt;Als Antwort auf diese Frage habe ich folgenden Kommentar verfasst:&lt;/p&gt;  &lt;blockquote&gt;	   	&lt;p&gt;	die kurze Antwort lautet: Sofern Du den SQL Server einsetzt, kannst Du guten Gewissens auf System.Transactions setzen, bei anderen Datenbanken ist zumindest Vorsicht geboten.	&lt;/p&gt;	 &lt;/blockquote&gt;  &lt;p&gt;Wie komme ich zu dieser Aussage?&lt;/p&gt;  &lt;p&gt;Vor der Einf&amp;uuml;hrung des Namensraums System.Transactions in .NET 2.0 gab es zwei verschiedene M&amp;ouml;glichkeiten, Transaktionen zu verwenden:&lt;/p&gt;  &lt;ul&gt;	   	&lt;li&gt;Einerseits konnten die klassischen ADO.NET-Transaktionen verwendet werden, die programmatisch angesprochen und gesteuert wurden.&lt;/li&gt;    	&lt;li&gt;Andererseits konnten die Enterprise Services verwendet werden, um deklarativ Methoden zu kennzeichnen, die transaktional ausgef&amp;uuml;hrt werden sollten.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Beide Verfahren haben ihre jeweiligen Vor- und Nachteile: Da die klassischen ADO.NET-Transaktionen direkt auf der Datenbank ausgef&amp;uuml;hrt werden, sind sie sehr performant, sind aber f&amp;uuml;r verteilte Transaktionen ungeeignet.&lt;/p&gt;  &lt;p&gt;Transaktionen, die hingegen &amp;uuml;ber die Enterprise Services ausgef&amp;uuml;hrt werden, verwenden implizit den Distributed Transaction Coordinator (DTC) von Windows und sind daher f&amp;uuml;r verteilte Transaktionen geeignet. Da der DTC jedoch immer eingesetzt wird &amp;ndash; auch dann, wenn eine lokale Transaktion gen&amp;uuml;gen w&amp;uuml;rde &amp;ndash; ist die Performance nicht ganz so hoch wie bei den klassischen ADO.NET-Transaktionen.&lt;/p&gt;  &lt;p&gt;Der Namensraum System.Transactions dient nun als Nachfolger f&amp;uuml;r beide Varianten, weshalb prinzipiell so wohl lokale wie auch verteilte Transaktionen unterst&amp;uuml;tzt werden. Die Logik, nach welcher der DTC hinzugezogen wird (oder eben nicht), ist dabei folgenderma&amp;szlig;en aufgebaut:&lt;/p&gt;  &lt;ul&gt;	   	&lt;li&gt;Wenn eine Verbindung zum SQL Server aufgebaut wird, wird die Transaktion zun&amp;auml;chst lokal ausgef&amp;uuml;hrt. Sobald innerhalb der gleichen Transaktion eine weitere Verbindung zu einer Datenbank aufgebaut wird, wird die Transaktion verteilt ausgef&amp;uuml;hrt. Damit dies funktioniert, enth&amp;auml;lt der SQL Server ein Feature namens Transaction Propagation, womit eine lokale in eine verteilte Transaktion umgewandelt werden kann.&lt;/li&gt;    	&lt;li&gt;Wenn eine Verbindung jedoch zu einer anderen Datenbank als einem SQL Server aufgebaut wird, geht .NET davon aus, dass Transaction Propagation nicht unterst&amp;uuml;tzt wird, weshalb von System.Transactions direkt eine verteilte Transaktion gestartet wird &amp;ndash; unabh&amp;auml;ngig davon, ob noch eine weitere Verbindung zu einer anderen Datenbank hergestellt wird oder nicht.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Die Konsequenz: Sofern innerhalb einer Transaktion nur eine einzelne Verbindung zu einem SQL Server hergestellt wird, verh&amp;auml;lt sich System.Transactions analog zu der klassischen ADO.NET-Transaktion &amp;ndash; und verf&amp;uuml;gt damit &amp;uuml;ber dieselbe Performance.&lt;/p&gt;  &lt;p&gt;Der Overhead des DTC schl&amp;auml;gt erst bei verteilten Transaktionen oder beim Einsatz einer anderen Datenbank zu.&lt;/p&gt;  &lt;p&gt;Insofern kann man die Verwendung von System.Transactions beim Einsatz von SQL Server guten Gewissens generell empfehlen &amp;ndash; bei allen anderen Datenbanken ist hingegen Vorsicht geboten, da hier automatisch der DTC zum Einsatz kommt, auch wenn keine verteilten Transaktionen genutzt werden.&lt;/p&gt;</description><pubDate>Mon, 09 Nov 2009 14:23:00 +0100</pubDate><a10:rights type="text">Golo Roden</a10:rights><a10:contributor><a10:name>Golo Roden</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Golo Roden</dc:creator></item><item><guid isPermaLink="false">http://www.codefest.at/post.aspx?id=f20bada0-8cea-40c4-b56b-3d3d70a65957</guid><link>http://feedproxy.google.com/~r/MsdnAustria/~3/OGqd25ke5L8/post.aspx</link><a10:author><a10:name>msdn Austria [MS]</a10:name></a10:author><title>Dynamic in C# 4.0, Teil 2: MemberBinder, IndexBinder und InvokeMember</title><description>&lt;p&gt;Im &lt;a href="http://www.codefest.at/post/2009/11/04/Dynamic-in-C-40-Teil-I-Einfuhrung.aspx" target="_blank"&gt;vorigen Posting&lt;/a&gt; habe ich versprochen, auf MemberBinder und IndexBinder in C# 4.0 einzugehen. Im letzten Beispiel haben wir bereits dynamisch Methoden hinzugefügt und verändert, doch dies geht noch wesentlich eleganter. Hierfür erstellen wir uns unser eigenes dynamisches Objekt. Dieses erbt von “&lt;a href="http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject(VS.100).aspx" target="_blank"&gt;DynamicObject&lt;/a&gt;”. In weiser Voraussicht auf das nächste Posting nennen wir das auch gleich mal “DynamicCSVObject”.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicCSVObject &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;DynamicObject
&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Damit wir unsere Member und die dazu passenden Variablen abspeichern können benötigen wir noch ein Dictionary. &lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: #2b91af"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;, &lt;span style="color: blue"&gt;object&lt;/span&gt;&amp;gt; membervals;&lt;/pre&gt;

&lt;p&gt;Unser Konstruktor soll nun einen Array an Members und dazu passende Werte aufnehmen können. Wichtig ist hierbei, das die Anzahl der Members jenen der Werte entsprechen muss.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;DynamicCSVObject(&lt;span style="color: blue"&gt;string&lt;/span&gt;[] members, &lt;span style="color: blue"&gt;object&lt;/span&gt;[] values)
{
    membervals = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;, &lt;span style="color: blue"&gt;object&lt;/span&gt;&amp;gt;();

    &lt;span style="color: blue"&gt;if &lt;/span&gt;(members.Length == values.Length)
    {
        &lt;span style="color: blue"&gt;for &lt;/span&gt;(&lt;span style="color: blue"&gt;int &lt;/span&gt;i = &lt;span style="color: brown"&gt;0&lt;/span&gt;; i &amp;lt; members.Length; i++)
        {
            membervals.Add(members[i], values[i]);
        }
    }
}&lt;/pre&gt;

&lt;p&gt;Nun können wir uns auch bereits an die erste Methode machen. Konkret wollen wir einen Member zurück geben. Dies geschieht, indem man die Methode “TryGetMember” aufruft. Der Wert leitet sich hierbei aus dem Dictionary ab. Den Namen des Binders erhalten wir aus dem “&lt;a href="http://msdn.microsoft.com/en-us/library/system.dynamic.getmemberbinder(VS.100).aspx" target="_blank"&gt;GetMemberBinder&lt;/a&gt;”. Da das ganze ein “TryGet”-Pattern ist, wird True/False zurück geliefert und die Variablen in einer out-Variable ausgegeben. (Das TryGet-Pattern erlaubt eine sichere Abfrage von Werten und wurde &lt;a href="http://www.amazon.com/Framework-Design-Guidelines-Conventions-Development/dp/0321246756" target="_blank"&gt;im Buch von Krzysztof Cwalina und Brad Abrams beschrieben&lt;/a&gt;) &lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public override bool &lt;/span&gt;TryGetMember(&lt;span style="color: #2b91af"&gt;GetMemberBinder &lt;/span&gt;binder, &lt;span style="color: blue"&gt;out object &lt;/span&gt;result)
{
    &lt;span style="color: blue"&gt;return &lt;/span&gt;membervals.TryGetValue(binder.Name, &lt;span style="color: blue"&gt;out &lt;/span&gt;result);
}&lt;/pre&gt;

&lt;p&gt;Nun können wir die Methode auch bereits Testen. Hierfür geben wir 2 Member und 2 Werte (jeweils vom Typ String der Einfachheit halber) an.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;dynamic &lt;/span&gt;dyn = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicCSVObject&lt;/span&gt;(&lt;span style="color: blue"&gt;new string&lt;/span&gt;[] { &lt;span style="color: #a31515"&gt;&amp;quot;Date&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;Value&amp;quot; &lt;/span&gt;}, &lt;span style="color: blue"&gt;new string&lt;/span&gt;[] { &lt;span style="color: #a31515"&gt;&amp;quot;12.12.2009&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;22&amp;quot; &lt;/span&gt;});

&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(dyn.Date);&lt;/pre&gt;

&lt;p&gt;Nun ist es auch noch sehr interessant, wie man diese Members setzen kann. Ähnlich der TryGetMember-Methode gibt es nun eine TrySetMember-Methode, welche darauf wartet überschrieben zu werden. Diese Methode liefert zum einem den SetMemberBinder und zum anderen ein Objekt mit dem Wert. Wir überprüfen zu Beginn ob der Wert bereits vorhanden ist. Wenn nicht, wird dieser hinzugefügt. &lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public override bool &lt;/span&gt;TrySetMember(&lt;span style="color: #2b91af"&gt;SetMemberBinder &lt;/span&gt;binder, &lt;span style="color: blue"&gt;object &lt;/span&gt;value)
{
    &lt;span style="color: blue"&gt;if &lt;/span&gt;(!membervals.ContainsKey(binder.Name))
    {
        membervals.Add(binder.Name, value);
        &lt;span style="color: blue"&gt;return true&lt;/span&gt;;
    }
    &lt;span style="color: blue"&gt;else
    &lt;/span&gt;{
        &lt;span style="color: blue"&gt;return false&lt;/span&gt;;
    }
}&lt;/pre&gt;

&lt;p&gt;Nun können wir auch diese Methode testen.&lt;/p&gt;

&lt;pre class="code"&gt;dyn.MyOwn = &lt;span style="color: #2b91af"&gt;DateTime&lt;/span&gt;.Today;

 &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(dyn.MyOwn);

 &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.ReadLine();&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;a href="http://www.codefest.at/image.axd?picture=image_36.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.codefest.at/image.axd?picture=image_thumb_32.png" width="574" height="291" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wie in dieser Abbildung erkennbar ist funktioniert das auch schon sehr gut.&lt;/p&gt;

&lt;p&gt;Doch damit alleine wollen wir uns nun auch noch nicht zufrieden geben. Schließlich haben wir bis jetzt nur Properties abgefragt. Dies könnte man auch mit Dictionaries einfacher gestalten. Aber es ist auch Möglich, Methodenaufrufe zu machen. Hierfür gibt es die Methode “TryInvokeMember”. Diese bekommt zum einem den InvokeMemberBinder, dann einen Array von “args” (welche die Parameter darstellen) und das Ergebnis. &lt;/p&gt;

&lt;p&gt;Wir wollen Methoden aufrufen, welche Text zu einem vorhandenen Property hinzufügen. Der Text soll hierbei aus den Übergabe Parametern kommen. Damit das funktioniert müssen wir folgendes überprüfen:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Beginnt die Methode mit “Add”? &lt;/li&gt;

  &lt;li&gt;Ist alles danach ein im Dictionary vorhandenes Property? &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;wenn das funktioniert, iterieren wir über die Übergabe Parameter und fügen Sie einen StringBuilder an. Dieser StringBuilder ist dann unser Ergebnis. &lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public override bool &lt;/span&gt;TryInvokeMember(&lt;span style="color: #2b91af"&gt;InvokeMemberBinder &lt;/span&gt;binder, &lt;span style="color: blue"&gt;object&lt;/span&gt;[] args, &lt;span style="color: blue"&gt;out object &lt;/span&gt;result)
{
    &lt;span style="color: blue"&gt;string &lt;/span&gt;member;
    &lt;span style="color: blue"&gt;object &lt;/span&gt;objmember;

    &lt;span style="color: #2b91af"&gt;StringBuilder &lt;/span&gt;sb;

    &lt;span style="color: blue"&gt;if &lt;/span&gt;(binder.Name.StartsWith(&lt;span style="color: #a31515"&gt;&amp;quot;Add&amp;quot;&lt;/span&gt;))
    {
        member = binder.Name.Substring(&lt;span style="color: brown"&gt;3&lt;/span&gt;);

        &lt;span style="color: blue"&gt;if &lt;/span&gt;(membervals.TryGetValue(member, &lt;span style="color: blue"&gt;out &lt;/span&gt;objmember))
        {
            sb = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;StringBuilder&lt;/span&gt;(objmember.ToString());

            &lt;span style="color: blue"&gt;foreach &lt;/span&gt;(&lt;span style="color: blue"&gt;object &lt;/span&gt;o &lt;span style="color: blue"&gt;in &lt;/span&gt;args)
            {
                sb.Append(o.ToString());
            }

            result = sb.ToString();
            &lt;span style="color: blue"&gt;return true&lt;/span&gt;;
        }

        result = &lt;span style="color: blue"&gt;null&lt;/span&gt;;
        &lt;span style="color: blue"&gt;return false&lt;/span&gt;;
    }
    &lt;span style="color: blue"&gt;else
    &lt;/span&gt;{
        result = &lt;span style="color: blue"&gt;null&lt;/span&gt;;
        &lt;span style="color: blue"&gt;return false&lt;/span&gt;;
    }
}&lt;/pre&gt;

&lt;p&gt;Nun müssen wir das auch noch testen:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(dyn.AddDate(&lt;span style="color: #a31515"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;));

&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.ReadLine();&lt;/pre&gt;

&lt;p&gt;Toll ist, das es wirklich mit beliebig vielen Parametern funktioniert:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(dyn.AddValue(&lt;span style="color: #a31515"&gt;&amp;quot;Mario&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;Meir&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;\n&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;Huber&amp;quot;&lt;/span&gt;));

&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.ReadLine();&lt;/pre&gt;

&lt;p&gt;Wie man sieht es es nun bereits sehr dynamisch. Das Beispiel bietet nur einen kleinen Einblick in die Technologie. Hierbei könnte man anhand von unterschiedlichen Memberaufrufen DLL’s dynamisch nachladen, Webservice-Aufrufe vereinfachen wenn sich der Service öfter ändert oder eine Applikation schreiben welche sich an einen Kunden sehr einfach anpasst. Den Fantasien sind nun keine Grenzen mehr gesetzt ;)&lt;/p&gt;

&lt;p&gt;Was nun auch noch möglich ist, ist ein Indexer. Hierbei wollen wir mit “obj[2]” auf ein Property zugreifen. Dies geschieht mithilfe der Methode “TryGetIndex”. im Array “indexes[0]” ist unser Index abgespeichert. Dies ist ebenfalls wieder vom TryGet-Design&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public override bool &lt;/span&gt;TryGetIndex(&lt;span style="color: #2b91af"&gt;GetIndexBinder &lt;/span&gt;binder, &lt;span style="color: blue"&gt;object&lt;/span&gt;[] indexes, &lt;span style="color: blue"&gt;out object &lt;/span&gt;result)
{
    &lt;span style="color: blue"&gt;if &lt;/span&gt;((&lt;span style="color: blue"&gt;int&lt;/span&gt;)indexes[&lt;span style="color: brown"&gt;0&lt;/span&gt;] &amp;lt;= membervals.Count)
    {
        result = membervals.ElementAt((&lt;span style="color: blue"&gt;int&lt;/span&gt;)indexes[&lt;span style="color: brown"&gt;0&lt;/span&gt;]);
        &lt;span style="color: blue"&gt;return true&lt;/span&gt;;
    }
    &lt;span style="color: blue"&gt;else
    &lt;/span&gt;{
        result = &lt;span style="color: blue"&gt;null&lt;/span&gt;;
        &lt;span style="color: blue"&gt;return false&lt;/span&gt;;
    }
}&lt;/pre&gt;

&lt;p&gt;Und natürlich wollen wir das auch noch ausführen.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(dyn[&lt;span style="color: brown"&gt;2&lt;/span&gt;]);

&lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.ReadLine();&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://www.codefest.at/image.axd?picture=image_37.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.codefest.at/image.axd?picture=image_thumb_33.png" width="605" height="307" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Und fertig! &lt;/p&gt;

&lt;p&gt;Im nächsten Posting werde ich die Klasse weiterverwenden und zeigen wie man dynamisch CSV-Daten parsen kann und diese in WPF mit Databinding verwendet. &lt;/p&gt;</description><pubDate>Mon, 09 Nov 2009 11:26:08 +0100</pubDate><a10:rights type="text">msdn Austria [MS]</a10:rights><a10:contributor><a10:name>msdn Austria [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">msdn Austria [MS]</dc:creator></item><item><guid isPermaLink="false">http://www.dotnetnukeblog.de/PermaLink,guid,629b5059-ea11-4119-bce4-a0d93251aeca.aspx</guid><link>http://www.dotnetnukeblog.de/Lorem+Ipsum+Generator.aspx</link><a10:author><a10:name>Daniel Müller</a10:name></a10:author><title>Lorem ipsum Generator</title><description>Gerade in der Design- bzw.Entwicklungsphase ist es immer sehr hilfreich,wenn man mit vernüftigen Texten arbeiten kann. Zumindest Texte die über ein "Testeintrag" oder "Hallo Welt" hinausgehen.&lt;br&gt;
&lt;br&gt;
Für diesen Zweck und damit wir armen Entwickler uns nicht immer einen sinnvollen Text
ausdenken müssen gibt es "Lorem ipsum". Dabei handelt es sich um einen Blindtext ohne
jede Bedeutung, der lediglich als Platzhalter verwendet wird. Dieser pseudo-lateinischen
Texte vermittelt durch die Verteilung der Buchstaben und Wortlänge den Eindruck eines
natürlichen Textes. Da die "Lorem ipsum" Texte aber Inhaltlich keine Bedeutung darstellen,
wird der Betrachter den den Inhalt nicht abgelenkt. 
&lt;br&gt;
&lt;br&gt;
Heute habe ich für diese Zwecke ein sehr nützliches Tool entdeckt, dass einem beliebe
"Lorem ipsum" Texte erzeugen kann. Durch die Angabe von Länge, Anzahl der Wörtern,
Anzahl der Abätze kann man sehr schön die Texte varieren. 
&lt;br&gt;
&lt;br&gt;
Das Tool befindet sich auf der Seite &lt;a href="http://www.loremipsum.de/" target="_blank"&gt;http://www.loremipsum.de&lt;/a&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.dotnetnukeblog.de/aggbug.ashx?id=629b5059-ea11-4119-bce4-a0d93251aeca" /&gt;</description><pubDate>Mon, 09 Nov 2009 11:24:01 Z</pubDate><a10:rights type="text">Daniel Müller</a10:rights><a10:contributor><a10:name>Daniel Müller</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Müller</dc:creator></item><item><guid isPermaLink="false">6dcdb6ae-26a7-4704-ae8b-cbd278e59bdf:7080</guid><link>http://dotnet-forum.de/blogs/thorstenhans/archive/2009/11/09/biztalk-naming-conventions.aspx</link><a10:author><a10:name>Thorsten Hans</a10:name></a10:author><title>BizTalk Naming Conventions</title><description>&lt;p&gt;&lt;a href="http://dotnet-forum.de/blogs/thorstenhans/Biztalk_sml_3_6AFC4115.gif"&gt;&lt;img style="border-right-width:0px;margin-top:10px;display:inline;margin-bottom:10px;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;margin-right:20px;" title="Biztalk_sml_3" border="0" alt="Biztalk_sml_3" align="left" src="http://dotnet-forum.de/blogs/thorstenhans/Biztalk_sml_3_thumb_7CD8D4E2.gif" width="134" height="228" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Wenn man Projekte auf Basis von Microsofts BizTalk Server realisiert werden die entsprechenden Solutions in Visual Studio schnell sehr komplex und unübersichtlich, daher sollte man bevor man mit der Realisierung eines BizTalk Projektes beginnt sich unbedingt Gedanken über das Naming der einzelnen Komponenten machen.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.traceofthought.net/misc/BizTalk%20Naming%20Conventions.htm" target="_blank"&gt;Hier&lt;/a&gt; findet Ihr eine Liste mit guten Conventions nach denen man bei der Entwicklung vorgehen sollte, um auch bei einem späteren Review wieder schnell alles nötige zu finden. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d8048ba7-fa55-43fc-b0e7-2e1faa2eb08c" class="wlWriterSmartContent"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/BizTalk" rel="tag"&gt;BizTalk&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Naming" rel="tag"&gt;Naming&lt;/a&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left;margin:0px;padding:4px 4px 4px 4px;"&gt;&lt;a href="http://dotnet-kicks.de/kick/?url=http://dotnet-forum.de/blogs/thorstenhans/archive/2009/11/09/biztalk-naming-conventions.aspx"&gt;&lt;img src="http://dotnet-kicks.de/Services/Images/KickItImageGenerator.ashx?url=http://dotnet-forum.de/blogs/thorstenhans/archive/2009/11/09/biztalk-naming-conventions.aspx&amp;amp;bgcolor=3169AD&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000" alt="DotNetKicks-DE Image" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://dotnet-forum.de/aggbug.aspx?PostID=7080" width="1" height="1"&gt;</description><pubDate>Mon, 09 Nov 2009 10:26:30 Z</pubDate><a10:rights type="text">Thorsten Hans</a10:rights><a10:contributor><a10:name>Thorsten Hans</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thorsten Hans</dc:creator></item><item><guid isPermaLink="true">http://del.icio.us/GeekDotNet#2009-11-08</guid><link>http://del.icio.us/GeekDotNet#2009-11-08</link><a10:author><a10:name>Marco Scheel</a10:name></a10:author><title>Links for 2009-11-08 [del.icio.us]</title><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.majestic12.co.uk/projects/html_parser.php"&gt;Majestic-12 : Projects : C# HTML parser (.NET)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/marcoscheel/~4/bpxJt7_bRro" height="1" width="1"/&gt;</description><pubDate>Mon, 09 Nov 2009 00:00:00 -0800</pubDate><a10:rights type="text">Marco Scheel</a10:rights><a10:contributor><a10:name>Marco Scheel</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Marco Scheel</dc:creator></item><item><guid isPermaLink="false">http://www.giza-blog.de/PermaLink,guid,1f86cc31-fc73-4dac-9fb5-d6bfc93880b6.aspx</guid><link>http://www.giza-blog.de/Windows7UndIE8StandAufDerMicrosoftTechEdEurope2009Tee09.aspx</link><a10:author><a10:name>Kay Giza [MS]</a10:name></a10:author><title>Windows 7 und IE8 Stand auf der: Microsoft Tech·Ed Europe 2009 | #tee09</title><description>&lt;p&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Die
Berliner sind freundlich (lässt mich der Busfahrer bewusst umsonst mitfahren), die
Stadt ist im "20 Jahre-Mauerfall-Fieber" und alles ist trotz der enormen Hektik irgendwie
ruhig und entspannt.&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;So auch
auf der Tech·Ed, wo ich eben den &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;Windows 7 und Internet
Explorer 8 Stand&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt; begutachtet habe. Dort findet man mich
übrigens die kommende Woche:&lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;table style="WIDTH: 100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="TEXT-ALIGN: center" rowspan=3&gt;
&lt;img style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt" border=0 src="http://www.giza-blog.de/content/binary/TechEd_Europe_Blog_L_lis.gif"&gt;&lt;/td&gt;
&lt;td style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;strong&gt;Wo genau?&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=1f86cc31-fc73-4dac-9fb5-d6bfc93880b6&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2feurope%2fTechEd%2f" target=_blank&gt;&lt;font size=2&gt;Microsoft®
Tech·Ed Europe 2009 | 9-13 November 2009, Berlin, Germany&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Internet
Explorer 8 / Windows 7 Stand&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Halle
3 (nicht zu verfehlen, ist der erste Stand &lt;img alt=";-)" src="http://www.giza-blog.de/smilies/wink.gif"&gt; in
der Halle)&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;2
Etage&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Im &lt;a href="http://www.giza-blog.de/ct.ashx?id=1f86cc31-fc73-4dac-9fb5-d6bfc93880b6&amp;amp;url=http%3a%2f%2fwww.msteched.com%2feurope%2fPublic%2ftechnical-learning-center.aspx" target=_blank&gt;Technical
Learning Center&lt;/a&gt; (TLC, ehemals Ask the Experts)&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Ausgeschildert
als: 3.2&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Ich
freue mich auf eine interessante Woche, mit vielen interessanten und spannenden Gesprächen
mit Kunden aus ganz Europe und natürlich auch Deutschland.&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Speziell
für die deutschen Kunden (weil der Inhalt auf Deutsch) habe ich einige interessante
"Give-Aways" mitgebracht. Es lohnt sich also am Internet Explorer 8 (IE8) Stand auf
der TechEd vorbei zu schauen.&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Ab
morgen werden ich versuchen regelmäßig über die TechEd Europe hier zu berichten, ob
und wie es mir gelingt wird sich zeigen.&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.giza-blog.de/aggbug.ashx?id=1f86cc31-fc73-4dac-9fb5-d6bfc93880b6" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
&lt;font face="Verdana" style="font-size: 8pt"&gt;This post is powered by &lt;a href="http://www.giza-blog.de" target="_blank" xmlns="http://www.w3.org/1999/xhtml"&gt;www.Giza-Blog.de&lt;/a&gt; | &lt;/font&gt; &lt;a target="_blank" title="Giza-Blog.de: RSS 2.0 Feed" href="http://www.giza-blog.de/SyndicationService.asmx/GetRss"&gt; &lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;img class="rssLinkImageStyle" title="RSS 2.0" style="border-width: 0px; vertical-align: middle;" alt="Giza-Blog.de: RSS Feed" src="http://www.giza-blog.de/images/feed-icon-16x16.gif" width="16" height="16" align="absmiddle" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;
&lt;br xmlns="http://www.w3.org/1999/xhtml" /&gt;
&lt;b&gt;Visit:&amp;nbsp;&lt;/b&gt;&amp;nbsp;&lt;a href="http://msdn.microsoft.com/de-de/" target="_blank" title="Microsoft Developer Network Germany Online"&gt;MSDN
Online&lt;/a&gt; | &lt;a href="http://twitter.com/MSDN_News" target="_blank"&gt;Follow MSDN Online
on Twitter&lt;/a&gt; | &lt;a href="http://twitter.com/Meverick" target="_blank"&gt;Follow Kay
Giza on Twitter&lt;/a&gt;
&lt;br&gt;
&lt;b&gt;Daily News on MSDN:&amp;nbsp;&lt;/b&gt; &amp;nbsp;&lt;a href="http://www.microsoft.com/germany/msdn/aktuell/" target="_blank"&gt;MSDN
Aktuell&lt;/a&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="font-family: Verdana; font-size: 8pt"&gt;© &lt;/span&gt; &lt;font face="Verdana" style="font-size: 8pt"&gt;Copyright
2006-2009 Kay Giza. All rights reserved. &lt;a href="http://www.giza-blog.de/impressum.aspx" target="_blank"&gt;Legal&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;</description><pubDate>Sun, 08 Nov 2009 18:59:37 Z</pubDate><a10:rights type="text">Kay Giza [MS]</a10:rights><a10:contributor><a10:name>Kay Giza [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kay Giza [MS]</dc:creator></item><item><guid isPermaLink="false">http://weblog.drescher-hackel.de/gu.AB0D32C0-EA51-4BE7-B866-484128856110.content.aspx</guid><link>http://weblog.drescher-hackel.de/AB0D32C0-EA51-4BE7-B866-484128856110/Optimierungsm%c3%b6glichkeiten+mit+dem+Scripmanager.content.aspx</link><a10:author><a10:name>Rene Drescher-Hackel</a10:name></a10:author><title>Optimierungsmöglichkeiten mit dem Scripmanager</title><description>&lt;p&gt; Wer im Rahmen seiner Anwendungsentwicklung geneigt ist, das AjaxToolkit einzusetzen, dem m&amp;uuml;ssten dann und wann schon einmal Bedenken hinsichtlich der Performance gekommen sein. Mich hat es die Tage jedenfalls besch&amp;auml;fftigt, so dass ich mich im Netzt einmal auf die Suche nach einer passenden L&amp;ouml;sung gemacht habe.&lt;/p&gt; </description><pubDate>Sun, 08 Nov 2009 18:02:56 Z</pubDate><a10:rights type="text">Rene Drescher-Hackel</a10:rights><a10:contributor><a10:name>Rene Drescher-Hackel</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rene Drescher-Hackel</dc:creator></item><item><guid isPermaLink="false">http://blog.klaus-b.net/post.aspx?id=d9610feb-ccff-4be7-ab5d-6b390b44159d</guid><link>http://blog.klaus-b.net/post/2009/11/08/Double-Content-durch-normalisierte-URLs.aspx</link><a10:author><a10:name>Klaus Bock</a10:name></a10:author><title>Double Content durch normalisierte URLs</title><description>&lt;p&gt;In letzter Zeit fielen mir bei der Überprüfung meines Blog in den Google &lt;a title="Google Webmaster-Tools" href="http://www.google.com/webmasters/tools/home?hl=de"&gt;Webmaster-Tools&lt;/a&gt; vermehrte Hinweise auf &lt;a title="SEO Lexicon: Double Content" href="http://www.express-submit.de/lexikon/double_content.html"&gt;Double Content&lt;/a&gt; auf. Die Ursache war schnell gefunden. Jede angemahnte Seite war mit zwei URLs vertreten: einmal mit der original URL und einmal mit einer URL komplett in &lt;a title="Kleinschreibung" href="http://de.wikipedia.org/wiki/Kleinschreibung" rel="wiki"&gt;Kleinschreibung&lt;/a&gt;. Für dieses Verhalten konnte nur einer der zahlreichen Bookmark-Dienste verantwortlich sein. Leider konnte ich nicht ermitteln woher die URLs stammten, da die Quelle nicht angezeigt wird. Da die Ursache nicht entfernt werden konnte, muss an der Wirkung gearbeitet werden.&lt;/p&gt;  &lt;p&gt;&lt;a title="ASP.NET" href="http://msdn.microsoft.com/bb400852.aspx" rel="msdn"&gt;ASP.NET&lt;/a&gt; basierende Anwendungen betrachten by Design URLs in unterschiedlicher Schreibweise als gleich. Es macht also keinen Unterschied ob &lt;em&gt;&lt;strong&gt;Das-ist-die-selbe-Seite.aspx&lt;/strong&gt;&lt;/em&gt; oder &lt;em&gt;&lt;strong&gt;das-ist-die-selbe-seite.aspx&lt;/strong&gt;&lt;/em&gt; aufgerufen wird. Es wird beide male die gleiche Seite angezeigt. Dieses Verhalten ist für den Anwender eigentlich nicht schlecht, da er nicht auf Groß- und Kleinschreibung achten muss. Für eine Suchmaschine ist dieses Verhalten jedoch der gleiche Inhalt unter verschiedenen URLs; also Double Content.&lt;/p&gt;  &lt;p&gt;Im Falle meines Blog, der auf &lt;a title="BlogEngine.NET" href="http://www.dotnetblogengine.net/"&gt;Blogengine.NET&lt;/a&gt; basiert, war die Lösung des Problems relativ einfach. Bei der Anforderung einer URL musste ich lediglich die angeforderte URL des jeweiligen Artikel mit der gespeicherten URL aus dem Post-Objekt vergleichen. Sind diese nicht identisch, wird eine permanente Umleitung, Statuscode 301, mit der URL aus dem Post-Objekt an den Client gesendet. Folgende Anpassung ist dabei in der Datei &lt;em&gt;&lt;strong&gt;post.aspx.cs&lt;/strong&gt;&lt;/em&gt; im Wurzelverzeichnis der Anwendung vorzunehmen. Die Zeilennummern im Listing entsprechen dabei den Zeilennummern in der Datei.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c9256681-a394-4e7c-b1cf-e45b13233a98" class="wlWriterEditableSmartContent"&gt;&lt;pre title="code" class="c#:firstline[41]"&gt;// verhindert double content durch
// unterschiedliche Schreibweise der URL
string requestUri = this.Request.RawUrl.Substring(
		Request.RawUrl.LastIndexOf('/') + 1);
string postUri = this.Post.RelativeLink.Substring(
		Post.RelativeLink.LastIndexOf('/') + 1);

if (!postUri.Equals(requestUri, StringComparison.Ordinal))
{
    this.Response.Clear();
    this.Response.StatusCode = 301;
    this.Response.AppendHeader(
		"location",
		Post.RelativeLink.ToString());
    this.Response.End();
}&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Anwender die auch Pages unter Blogengine.NET verwenden, sollten natürlich auch die Datei &lt;strong&gt;&lt;em&gt;page.aspx.cs&lt;/em&gt;&lt;/strong&gt;, ebenfalls im Wurzelverzeichnis zu finden, entsprechend anpassen.&lt;/p&gt;

&lt;p&gt;Die kleine Änderung im Code zeigte Wirkung, denn nach ein paar Tagen waren keine Hinweise mehr auf Double Content in den Google Webmaster-Tools zu finden.&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:85293368-91d5-4555-b27b-bad0df8678d8" class="wlWriterEditableSmartContent"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/blogengine.net" rel="tag"&gt;blogengine.net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/asp.net" rel="tag"&gt;asp.net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/double+content" rel="tag"&gt;double content&lt;/a&gt;,&lt;a href="http://technorati.com/tags/seo" rel="tag"&gt;seo&lt;/a&gt;&lt;/div&gt;</description><pubDate>Sun, 08 Nov 2009 13:51:46 +0100</pubDate><a10:rights type="text">Klaus Bock</a10:rights><a10:contributor><a10:name>Klaus Bock</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Klaus Bock</dc:creator></item><item><guid isPermaLink="false">http://blog.norberteder.com/?entry=entry091107-232809</guid><link>http://blog.norberteder.com/index.php?entry=entry091107-232809</link><a10:author><a10:name>Norbert Eder</a10:name></a10:author><title>How-To's für WPF und Silverlight</title><description>Kleine How-To&amp;#039;s, also kleine Artikel, die kompakt die Lösung eines Problems zeigen, können sehr hilfreich sein. &lt;a href="http://www.dotnet-gui.com" target="_blank" &gt;.NET GUI&lt;/a&gt; bietet hierfür eine eigene Sektion an, die sich langsam aber sicher mit zahlreichen How-To&amp;#039;s füllt. Nun sind &lt;b&gt;vier weitere&lt;/b&gt; How-To&amp;#039;s verfügbar:
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://dotnet-gui.com/forums/t/689.aspx" target="_blank" &gt;Windows7-Taskbar mit WPF anpassen - Progress&lt;/a&gt;
&lt;br /&gt;&lt;a href="http://dotnet-gui.com/forums/t/688.aspx" target="_blank" &gt;Windows7-Taskbar mit WPF anpassen - JumpList&lt;/a&gt;
&lt;br /&gt;&lt;a href="http://dotnet-gui.com/forums/t/682.aspx" target="_blank" &gt;How-To: Silverlight hat einen Timer&lt;/a&gt;
&lt;br /&gt;&lt;a href="http://dotnet-gui.com/forums/t/672.aspx" target="_blank" &gt;How-To: Web-Services in Silverlight synchron aufrufen&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;Es kommen übrigens laufend neue Kurzartikel hinzu.</description><pubDate>Sat, 07 Nov 2009 22:28:09 Z</pubDate><a10:rights type="text">Norbert Eder</a10:rights><a10:contributor><a10:name>Norbert Eder</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Norbert Eder</dc:creator></item><item><guid isPermaLink="false">http://www.des-eisbaeren-blog.de/post.aspx?id=eaa03461-e1d0-4a88-8bca-44250e177efe</guid><link>http://www.des-eisbaeren-blog.de/post/2009/11/07/Auch-Kirchen-haben-Kragsteine.aspx</link><a10:author><a10:name>Golo Roden</a10:name></a10:author><title>Auch Kirchen haben Kragsteine</title><description>&lt;p&gt;Vor knapp einer Woche habe ich mit meinem Blogeintrag &lt;a href="http://www.des-eisbaeren-blog.de/post.aspx?id=c9a5d57d-7337-49f8-b950-c082d49b2fdb"&gt;Wie viel Sinn machen Unittests?&lt;/a&gt; &amp;ndash; der im Rahmen der monatlichen Streitgespr&amp;auml;che von &lt;a href="http://www.peterbucher.ch"&gt;Peter Bucher&lt;/a&gt; und mir erschienen ist &amp;ndash; f&amp;uuml;r einige Verwunderung gesorgt. Viele haben sich gefragt, warum gerade ich Unittests derma&amp;szlig;en skeptisch gegen&amp;uuml;berstehe.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ralfw.de"&gt;Ralf Westphal&lt;/a&gt; hat in seinem Kommentar vermutet, dass&lt;/p&gt;  &lt;blockquote&gt;		   		&lt;p&gt;		etwas hinter den drei &amp;ldquo;problematischen Aspekten&amp;rdquo; das Grundproblem zu sein [scheint]		&lt;/p&gt;		 &lt;/blockquote&gt;  &lt;p&gt;und ich muss zugeben, dass diese Vermutung nicht von der Hand zu weisen ist. Als problematisch habe ich an Unittests im Wesentlichen die Tatsache betrachtet, dass Code zum Zweck einer besseren Testbarkeit potenziell angepasst werden muss, da sich einige Konstrukte ansonsten nur schlecht oder gar nicht testen lassen.&lt;/p&gt;  &lt;p&gt;Als Beispiel seien an dieser Stelle abstrakte Klassen angef&amp;uuml;hrt, die per Definition nicht instanziiert und deshalb nicht direkt getestet werden k&amp;ouml;nnen. Prinzipiell kann dieses Problem auf zwei Arten gel&amp;ouml;st werden:&lt;/p&gt;  &lt;ul&gt;		   		&lt;li&gt;Entweder werden die bereits bestehenden abgeleiteten Klassen getestet &amp;ndash; immerhin ist die abstrakte Basisklasse in diesen implizit enthalten.&lt;/li&gt;    		&lt;li&gt;Alternativ wird eine dedizierte abgeleitete Klasse erstellt, welche die abstrakte Basisklasse beerbt &amp;ndash; die Basisklasse ist also auch in dieser Variante implizit enthalten.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Der relevante Unterschied zwischen beiden Varianten liegt in der Tatsache, dass die bereits bestehenden abgeleiteten Klassen eigene Funktionalit&amp;auml;t mitbringen, die den Test nicht unbedingt verf&amp;auml;lschen, aber zumindest beeinflussen k&amp;ouml;nnte: Es wird schwierig, den Test auf die abstrakte Basisklasse zu beschr&amp;auml;nken.&lt;/p&gt;  &lt;p&gt;Eine dedizierte Klasse verf&amp;uuml;gt nicht &amp;uuml;ber diese Nachteile: Sie sorgt lediglich daf&amp;uuml;r, dass die abstrakte Basisklasse in m&amp;ouml;glichst nat&amp;uuml;rlicher Form instanziiert werden kann.&lt;/p&gt;  &lt;p&gt;Technisch ist dieses Vorgehen unproblematisch, aber mental bereitete es mir Probleme: Seit Jahren wird Entwicklern vor allem in der akademischen Welt impliziert, dass Code nur dann &amp;ldquo;gut&amp;rdquo; ist, wenn er kompakt, elegant und im mathematischen Sinne sch&amp;ouml;n ist.&lt;/p&gt;  &lt;p&gt;Wie sind nun &amp;Auml;nderungen, die nur um einer besseren Testbarkeit durchgef&amp;uuml;hrt werden, mit diesem Paradigma vereinbar? Die kurze, aber schmerzhafte Antwort lautet: Gar nicht.&lt;/p&gt;  &lt;p&gt;Wie bereits in &lt;a href="http://www.des-eisbaeren-blog.de/post.aspx?id=c9a5d57d-7337-49f8-b950-c082d49b2fdb"&gt;Wie viel Sinn machen Unittests?&lt;/a&gt; angesprochen, beschreibt auch Roy Osherove in seinem Buch &lt;a href="http://www.amazon.de/gp/product/1933988274?ie=UTF8&amp;amp;tag=goloroden-21&amp;amp;linkCode=as2&amp;amp;camp=1638&amp;amp;creative=19454&amp;amp;creativeASIN=1933988274"&gt;The Art of Unit Testing&lt;/a&gt; in dem Abschnitt &lt;em&gt;Overcoming the encapsulation problem&lt;/em&gt; dieses Problem:&lt;/p&gt;  &lt;blockquote&gt;		   		&lt;p&gt;		Some people feel that opening up the design to make it more testable is     &lt;br /&gt;		a bad thing because it hurts the object-oriented principles the design is      &lt;br /&gt;		based on. I can wholeheartedly say to those people, &amp;ldquo;Don&amp;rsquo;t be silly.&amp;rdquo;		&lt;/p&gt;		 &lt;/blockquote&gt;  &lt;p&gt;Seine zugegebenerma&amp;szlig;en sehr pragmatische L&amp;ouml;sung &lt;/p&gt;  &lt;blockquote&gt;		   		&lt;p&gt;		&amp;ldquo;Don&amp;rsquo;t be silly.&amp;rdquo;		&lt;/p&gt;		 &lt;/blockquote&gt;  &lt;p&gt;dieses Problems stellt f&amp;uuml;r mich keine zufriedenstellende Antwort dar &amp;ndash; schlie&amp;szlig;lich kommen die Bedenken nicht von ungef&amp;auml;hr, und diese Antwort spiegelt dies in keinerlei Hinsicht wieder.&lt;/p&gt;  &lt;p&gt;Auch die im Gespr&amp;auml;ch mit einigen anderen Entwicklern ge&amp;auml;u&amp;szlig;erte Ansicht&lt;/p&gt;  &lt;blockquote&gt;		   		&lt;p&gt;		Das ist halt so.		&lt;/p&gt;		 &lt;/blockquote&gt;  &lt;p&gt;ist nicht zufriedenstellend. Diese Aussage beschreibt n&amp;auml;mlich lediglich den Status Quo, begr&amp;uuml;ndet aber nicht, warum es in Ordnung oder vielleicht sogar gut ist, auf diese Art vorzugehen. Letztlich spiegelt diese Aussage lediglich das resignierte Abfinden mit einer &amp;ndash; potenziell &amp;ndash; unbequemen Tatsache dar.&lt;/p&gt;  &lt;p&gt;Doch nun hat Ralf Westphal eine Begr&amp;uuml;ndung geliefert, die den Anspr&amp;uuml;chen der Skeptiker &amp;ndash; zumindest aus meiner Sicht &amp;ndash; gen&amp;uuml;gt:&lt;/p&gt;  &lt;blockquote&gt;		   		&lt;p&gt;		das ist v&amp;ouml;llig ok. maschinen haben ja auch revisionsklappen f&amp;uuml;r wartungsarbeiten. die haben sonst keine funktionalit&amp;auml;t. oder denk an kragsteine an alten kirchen, damit man ger&amp;uuml;ste anbringen kann.		&lt;/p&gt;		 &lt;/blockquote&gt;  &lt;p&gt;Nach einigen Jahren des Zweifels und der Skepsis empfinde ich diese Analogie als eine wahre Erl&amp;ouml;sung &amp;ndash; endlich wird begr&amp;uuml;ndet, warum ein solches Vorgehen in der Software in Ordnung ist.&lt;/p&gt;  &lt;p&gt;Man mag einwenden, dass dieser Vergleich zur realen Welt doch offensichtlich und naheliegend sei, doch war in den vergangenen Jahren sonst niemand, mit dem ich mich &amp;uuml;ber dieses Thema unterhalten habe, in der Lage, einen &amp;auml;hnlich klaren, einleuchtenden Vergleich zu ziehen.&lt;/p&gt;  &lt;p&gt;Pers&amp;ouml;nlich bemerke ich, dass diese Erkenntnis eine Art Wendepunkt darstellt &amp;ndash; die mentale Barriere, mit der ich mich bislang gegen Unittests gestr&amp;auml;ubt habe, weil sie Anpassung von Code erfordern, ist aufgel&amp;ouml;st. Alles, was bleibt, sind technische Probleme &amp;ndash; und diese k&amp;ouml;nnen mit Sicherheit gel&amp;ouml;st werden.&lt;/p&gt;  &lt;p&gt;Als Konsequenz werde ich das umsetzen, was Ralf Westphal vorgeschlagen und empfohlen hat:&lt;/p&gt;  &lt;blockquote&gt;		   		&lt;p&gt;		Unit Tests [&amp;hellip;] konsequent und kompetent mal f&amp;uuml;r einen Monat einzusetzen. Mit der Kompetenz mag es da schwierig sein, weil man sich dann eine Ver&amp;auml;nderung der Handlungs- und Denkgewohnheit selbst beibringen muss... aber das ist zumindest ein Anfang.		&lt;/p&gt;		 &lt;/blockquote&gt;  &lt;p&gt;Wie es mir damit ergeht &amp;ndash; dar&amp;uuml;ber werde ich berichten &amp;hellip;&lt;/p&gt;</description><pubDate>Sat, 07 Nov 2009 18:41:00 +0100</pubDate><a10:rights type="text">Golo Roden</a10:rights><a10:contributor><a10:name>Golo Roden</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Golo Roden</dc:creator></item><item><guid isPermaLink="false">http://blog.klaus-b.net/post.aspx?id=19e49ffe-fa52-43a1-95c8-b9c1535278fc</guid><link>http://blog.klaus-b.net/post/2009/11/07/Der-leidenschaftliche-Programmierer.aspx</link><a10:author><a10:name>Klaus Bock</a10:name></a10:author><title>Der leidenschaftliche Programmierer</title><description>&lt;p&gt;&lt;a href="http://blog.klaus-b.net/image.axd?picture=book001.gif"&gt;&lt;img style="display: inline" title="Der leidenschaftliche Programmierer" alt="Der leidenschaftliche Programmierer" align="left" src="http://blog.klaus-b.net/image.axd?picture=book001_1.gif" width="100" height="140" /&gt;&lt;/a&gt;lautet der Titel des Buches, welches mir kürzlich in die Hände fiel.     &lt;br /&gt;Chad Fowler, die meisten Ruby-Entwickler dürften ihn kennen, hat mit diesem Buch kein technisches Werk zu einer der vielen Programmiersprachen verfasst, sondern geht viel mehr auf die größeren und kleineren Probleme im Berufsalltag eines Softwareentwicklers ein. In den 53 kurzen, aber sehr prägnanten, Artikeln greift er die verschiedensten Szenarien auf und gibt allerlei Tipps um die ein oder andere Situation zu meistern.     &lt;br /&gt;Man merkt während des Lesens sehr schnell, dass Chad Fowler auf einen reichen Erfahrungsschatz zurückgreifen kann. Da Chad Fowler eigentlich Musiker ist, zieht er immer wieder Parallelen zu diesem Metier und schafft dabei auf anschauliche Art und Weise Verbindungen die für jeden nachvollziehbar sind. Viele dieser Situationen lassen sich problemlos auf alle möglichen Berufe übertragen, genauso wie der jeweilige Lösungsansatz.&lt;/p&gt;  &lt;p&gt;Erwähnenswert sind auch die zahlreichen Anekdoten aus dem Bekanntenkreis des Autors. Eine davon, die mir persönlich am besten gefiel, ist die Schilderung von Tom Preston-Werner wie er ein sehr lukratives Angebot von Microsoft ausschlug um mit GitHub “etwas cooles zu tun”. Der Titel der Anekdote könnte passender nicht sein:    &lt;br /&gt;&lt;em&gt;Wie ich 300.000$ von Microsoft ablehnte, um in Vollzeit an GitHub zu arbeiten&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;So unterhaltsam wie teilweise die enthaltenen Anekdoten sind, so aussagekräftig sind die Titel der einzelnen Kapitel gehalten. Wie etwa der Titel des ersten Kapitel der da lautet: &lt;em&gt;Führen oder bluten?&lt;/em&gt; Der Autor verdeutlicht in diesem ersten Artikel an zahlreichen Beispielen die noch heutige Gültigkeit des alten Leitsatz: “Geringes Risiko. Geringe Belohnung.”&lt;/p&gt;  &lt;p&gt;Das Buch liest sich sehr leicht und unterhaltsam, ist dabei jedoch keineswegs als leichte Unterhaltung zu verstehen. Vielmehr versucht der Autor dem Leser die Augen zu öffnen und die Aufmerksamkeit auf die eigene persönliche Entwicklung des Lesers zu lenken. Er zeigt interessante Betrachtungsweisen ungeliebter Aufgaben und schafft dabei neue Perspektiven. Anhand anschaulicher Beispiele werden Möglichkeiten gezeigt, die der ein oder andere so für sich noch nicht in Betracht gezogen haben mag. Wie der Titel schon erahnen lässt, versucht Chad Fowler den leidenschaftlichen Programmierer im Softwareentwickler zu wecken.&lt;/p&gt;  &lt;p&gt;Meine Leidenschaft für das Programmieren bedurfte keines Erweckens, denn sie ist nie erlöschen. Vieleicht auch, weil ich nie den Zwängen eines professionellen Entwicklers unterworfen war. Ich musste mich nie mit Deadlines und unmöglichen Kundenwünschen herumschlagen.    &lt;br /&gt;Der Autor, der ja selbst Entwickler ist, kennt das Entwicklergeschäft allerdings sehr gut. Ich kann mir gut vorstellen, dass es bestimmt Entwickler da draußen gibt, deren Leidenschaft für ihren Job sanft entschlafen ist; oder der ein oder andere nur noch Code schreibt, damit “Belag auf die Pizza” kommt. Alle die sich jetzt angesprochen fühlen, sollte einmal einen Blick in dieses Buch riskieren.&lt;/p&gt;  &lt;p&gt;Auch alle anderen, deren Neugier geweckt wurde, können sich einen eigenen Eindruck bei einer Leseprobe unter &lt;a href="http://www.it-fachportal.de/5885"&gt;http://www.it-fachportal.de/5885&lt;/a&gt; verschaffen.     &lt;br /&gt;Mir hat es sehr viel Spaß bereitet das Buch zu lesen, konnte aber auch den ein oder anderen Rat mitnehmen.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e9e32a1a-8fbb-4ef3-9493-9668e0575d9b" class="wlWriterEditableSmartContent"&gt;Technorati-Tags: &lt;a href="http://technorati.com/tags/books" rel="tag"&gt;books&lt;/a&gt;,&lt;a href="http://technorati.com/tags/review" rel="tag"&gt;review&lt;/a&gt;,&lt;a href="http://technorati.com/tags/the+passionate+programmer" rel="tag"&gt;the passionate programmer&lt;/a&gt;&lt;/div&gt;</description><pubDate>Sat, 07 Nov 2009 17:10:49 +0100</pubDate><a10:rights type="text">Klaus Bock</a10:rights><a10:contributor><a10:name>Klaus Bock</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Klaus Bock</dc:creator></item><item><guid isPermaLink="false">http://www.giza-blog.de/PermaLink,guid,bb40fd1e-9f10-41cf-83de-d044bdfd70fb.aspx</guid><link>http://www.giza-blog.de/DownloadPaintNET35FinaleVersionBildbearbeitungsprogrammFreeware.aspx</link><a10:author><a10:name>Kay Giza [MS]</a10:name></a10:author><title>Download: Paint.NET 3.5 finale Version [Bildbearbeitungsprogramm, Freeware]</title><description>Es ist so weit &lt;img alt=":-)" src="http://www.giza-blog.de/smilies/happy.gif"&gt;: mein Lieblings-Bildbearbeitungs-Tool Paint.NET ist endlich in der finalen Version 3.5 erschienen: Paint.NET v3.5 Final. Genauer gesagt ist die Version Paint.NET v3.5 (Final Release Build 3.50.3596.41598) erschienen. Neben neuen Effekten beeindruckt das schnelle und kostenfreie Bildbearbeitungsprogramm nun durch ein frisches und neues Programmdesign. Weiterhin hat man sich Mühe gegeben die von Windows Vista und Windows 7 bereitgestellten visuellen Effekte zu nutzen, wie z.B. Aero und "Glass". Es wurden sehr viele Verbesserungen vorgenommen, Schnelligkeit und somit Performance standen dabei sehr häufig im Vordergrund. So nutzt Paint.NET z.B. unter Windows 7 bei dem Text-Tool DirectWrite anstatt GDI - was nun alles erheblich schneller geht &lt;img alt=":)" src="http://www.giza-blog.de/smilies/happy.gif"&gt; Insgesamt kommt das Wort "Performance" sehr häufig in der Liste der Neuerungen vor. Weiterhin ist natürlich erwähnenswert das es ein neues Menü "Utilities" gibt, wo man nun u.a. die Update-Suche starten kann sowie die Sprache und Plug-Ins verwalten kann. Apropos Sprache, unsere Freunde aus Russland können Paint.NET nun auch in Ihrer Muttersprache nutzen.

Die vollständige Liste der Neuigkeiten im Vergleich zur Version 3.36, einen Download-Link, Screenshots sowie weiterführende Informationen finden Sie in diesem ausführlichen Blog-Eintrag auf Giza-Blog.de ... [...mehr]&lt;img width="0" height="0" src="http://www.giza-blog.de/aggbug.ashx?id=bb40fd1e-9f10-41cf-83de-d044bdfd70fb"/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;p&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;This post is powered by
&lt;a href="http://www.giza-blog.de" target="_blank" xmlns="http://www.w3.org/1999/xhtml"&gt;www.Giza-Blog.de&lt;/a&gt; | &lt;/font&gt;
&lt;a target="_blank" title="Giza-Blog.de: RSS 2.0 Feed" href="http://www.giza-blog.de/SyndicationService.asmx/GetRss"&gt;
&lt;span style="font-size: 8pt; font-family: Verdana;"&gt;
&lt;img class="rssLinkImageStyle" title="RSS 2.0" style="border-width: 0px; vertical-align: middle;" alt="Giza-Blog.de: RSS Feed" src="http://www.giza-blog.de/images/feed-icon-16x16.gif" width="16" height="16" align="absmiddle" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;&lt;br xmlns="http://www.w3.org/1999/xhtml" /&gt;
&lt;b&gt;Visit:&amp;nbsp;&lt;/b&gt;&amp;nbsp;&lt;a href="http://msdn.microsoft.com/de-de/" target="_blank" title="Microsoft Developer Network Germany Online"&gt;MSDN Online&lt;/a&gt; | 
&lt;a href="http://twitter.com/MSDN_News" target="_blank"&gt;Follow MSDN Online on 
Twitter&lt;/a&gt; | &lt;a href="http://twitter.com/Meverick" target="_blank"&gt;Follow Kay 
Giza on Twitter&lt;/a&gt;&lt;br&gt;&lt;b&gt;Daily News on MSDN:&amp;nbsp;&lt;/b&gt;
&amp;nbsp;&lt;a href="http://www.microsoft.com/germany/msdn/aktuell/" target="_blank"&gt;MSDN 
Aktuell&lt;/a&gt;&lt;br /&gt;
&lt;/font&gt;&lt;span style="font-family: Verdana; font-size: 8pt"&gt;© &lt;/span&gt;
&lt;font face="Verdana" style="font-size: 8pt"&gt;Copyright 2006-2009 Kay Giza. All rights reserved.
&lt;a href="http://www.giza-blog.de/impressum.aspx" target="_blank"&gt;Legal&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;</description><pubDate>Sat, 07 Nov 2009 16:56:48 Z</pubDate><a10:rights type="text">Kay Giza [MS]</a10:rights><a10:contributor><a10:name>Kay Giza [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kay Giza [MS]</dc:creator></item><item><guid isPermaLink="false">http://blog.m-ri.de/?p=548</guid><link>http://blog.m-ri.de/index.php/2009/11/07/schreck-lass-nach-microsoft-office-outlook-kann-nicht-gestartet-werden-das-outlook-fenster-kann-nicht-geoeffnet-werden/</link><a10:author><a10:name>Martin Richter</a10:name></a10:author><title>Schreck lass nach: Microsoft Office Outlook kann nicht gestartet werden. Das Outlook-Fenster kann nicht geöffnet werden.</title><description>&lt;p&gt;Heute morgen &amp;#8211; noch im Schlafanzug &lt;img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt;  &amp;#8211; werfe ich meinen Rechner an.&lt;/p&gt;
&lt;p&gt;Als erstes &lt;em&gt;Outlook &lt;/em&gt;starten um die Emails zu kontrollieren und weil ich noch einige Aufgaben nachsehen wollte.&lt;br /&gt;
Und was sehen meine noch m&amp;#252;den Augen &lt;img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_surprised.gif' alt=':eek:' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;img class="alignnone size-full wp-image-549" title="Outlook-Fehler" src="http://blog.m-ri.de/wp-content/uploads/2009/11/Outlook-Fehler.PNG" alt="Outlook-Fehler" width="433" height="174" /&gt;&lt;/p&gt;
&lt;p&gt;Microsoft Office Outlook kann nicht gestartet werden. Das Outlook-Fenster kann nicht ge&amp;#246;ffnet werden.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;OK. Ruhe bewahren!&lt;br /&gt;
&lt;em&gt;Outlook&lt;/em&gt; mit Safemode starten. Auch nix.&lt;br /&gt;
Also Google fragen.&lt;/p&gt;
&lt;p&gt; Schnell werde ich f&amp;#252;ndig, die gescheiteste Anleitung mit etwas Hintergrund war hier zu finden:&lt;br /&gt;
&lt;a href="http://www.outlook-stuff.com/lang-de/tipps-und-tricks/problemloesungen/729-microsoft-office-outlook-kann-nicht-gestartet-werden.html"&gt;http://www.outlook-stuff.com/lang-de/tipps-und-tricks/problemloesungen/729-microsoft-office-outlook-kann-nicht-gestartet-werden.html&lt;/a&gt;&lt;br /&gt;
Bei anderen wurde einfach nur gesagt: &lt;strong&gt;Neues Profil anlegen&lt;/strong&gt;. Aber hier steht wenigstens die Info, dass es an einer XML-Datei liegt, die so hei&amp;#223;t wie mein Profil!&lt;/p&gt;
&lt;p&gt;Ich schau in mein Verzeichnis &lt;em&gt;C:\Users\Martin\AppData\Roaming\Microsoft\Outlook &lt;/em&gt;dort finde ich eine Standard.xml Datei. Standard war der Profilname, den ich verwendet habe.&lt;br /&gt;
Die Datei hat eineGr&amp;#246;&amp;#223;e von 0 Bytes &lt;img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_exclaim.gif' alt=':!:' class='wp-smiley' /&gt;  Das sieht falsch aus f&amp;#252;r eine XML-Datei.&lt;/p&gt;
&lt;p&gt;Na! Warum also l&amp;#246;schen und neu anlegen, ich verf&amp;#252;ge doch &amp;#252;ber eine Datensicherung de ich regelm&amp;#228;&amp;#223;ig mit &lt;a href="http://www.acronis.de/homecomputing/products/trueimage/"&gt;Acronis True Image 2010&lt;/a&gt; durchf&amp;#252;hre! Also werfe ich meine USB Platte an. Doppelklicke einfach meine TIB-Datei, navigiere in das Verzeichnis im Backup. Einfach Copy &amp;amp; Paste der Datei direkt aus dem Backup.  Ja, einfach so ganz ohne Restore, als ob es eine ZIP-Datei ist. &lt;a href="http://www.acronis.de/homecomputing/products/trueimage/"&gt;Acronis True Image&lt;/a&gt; ist geil.&lt;/p&gt;
&lt;p&gt;Outllook neu starten und siehe, alles ist wieder gut &lt;img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_exclaim.gif' alt=':!:' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Es geht doch nichts &amp;#252;ber eine Datensicherung &lt;img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_exclaim.gif' alt=':!:' class='wp-smiley' /&gt;&lt;br /&gt;
BTW: Sagte ich es schon? &lt;a href="http://www.acronis.de/homecomputing/products/trueimage/"&gt;Acronis True Image&lt;/a&gt; ist geil? &lt;img src='http://blog.m-ri.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;hr /&gt;&lt;small&gt;Copyright &amp;copy; 2008 Martin Richter&lt;br /&gt;Dieser Feed ist nur f&amp;uuml;r den pers&amp;ouml;nlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier ver&amp;ouml;ffentlichten Beitr&amp;auml;ge auf anderen Webseiten bedarf der ausdr&amp;uuml;cklichen Genehmigung des Autors.&lt;br /&gt;(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)&lt;/small&gt;



	&lt;a rel="nofollow"  href="javascript:AddToFavorites();" title="Add to favorites"&gt;&lt;img src="http://blog.m-ri.de/wp-content/plugins/sociable/images/addtofavorites.png" title="Add to favorites" alt="Add to favorites" /&gt;&lt;/a&gt;
	&lt;a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http%3A%2F%2Fblog.m-ri.de%2Findex.php%2F2009%2F11%2F07%2Fschreck-lass-nach-microsoft-office-outlook-kann-nicht-gestartet-werden-das-outlook-fenster-kann-nicht-geoeffnet-werden%2F&amp;amp;title=Schreck%20lass%20nach%3A%20Microsoft%20Office%20Outlook%20kann%20nicht%20gestartet%20werden.%20Das%20Outlook-Fenster%20kann%20nicht%20ge%C3%B6ffnet%20werden.&amp;amp;annotation=Heute%20morgen%20-%20noch%20im%20Schlafanzug%20%3B%29%20-%20werfe%20ich%20meinen%20Rechner%20an.%0D%0A%0D%0AAls%20erstes%20Outlook%20starten%20um%20die%20Emails%20zu%20kontrollieren%20und%20weil%20ich%20noch%20einige%20Aufgaben%20nachsehen%20wollte.%0D%0AUnd%20was%20sehen%20meine%20noch%20m%C3%BCden%20Augen%20%3Aeek%3A%0D%0A%0D%0A%0D%0AMicrosoft%20Office%20O" title="Google Bookmarks"&gt;&lt;img src="http://blog.m-ri.de/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" /&gt;&lt;/a&gt;
	&lt;a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fblog.m-ri.de%2Findex.php%2F2009%2F11%2F07%2Fschreck-lass-nach-microsoft-office-outlook-kann-nicht-gestartet-werden-das-outlook-fenster-kann-nicht-geoeffnet-werden%2F&amp;amp;title=Schreck%20lass%20nach%3A%20Microsoft%20Office%20Outlook%20kann%20nicht%20gestartet%20werden.%20Das%20Outlook-Fenster%20kann%20nicht%20ge%C3%B6ffnet%20werden.&amp;amp;notes=Heute%20morgen%20-%20noch%20im%20Schlafanzug%20%3B%29%20-%20werfe%20ich%20meinen%20Rechner%20an.%0D%0A%0D%0AAls%20erstes%20Outlook%20starten%20um%20die%20Emails%20zu%20kontrollieren%20und%20weil%20ich%20noch%20einige%20Aufgaben%20nachsehen%20wollte.%0D%0AUnd%20was%20sehen%20meine%20noch%20m%C3%BCden%20Augen%20%3Aeek%3A%0D%0A%0D%0A%0D%0AMicrosoft%20Office%20O" title="del.icio.us"&gt;&lt;img src="http://blog.m-ri.de/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" /&gt;&lt;/a&gt;
	&lt;a rel="nofollow"  href="http://www.mister-wong.de/addurl/?bm_url=http%3A%2F%2Fblog.m-ri.de%2Findex.php%2F2009%2F11%2F07%2Fschreck-lass-nach-microsoft-office-outlook-kann-nicht-gestartet-werden-das-outlook-fenster-kann-nicht-geoeffnet-werden%2F&amp;amp;bm_description=Schreck%20lass%20nach%3A%20Microsoft%20Office%20Outlook%20kann%20nicht%20gestartet%20werden.%20Das%20Outlook-Fenster%20kann%20nicht%20ge%C3%B6ffnet%20werden.&amp;amp;plugin=soc" title="MisterWong.DE"&gt;&lt;img src="http://blog.m-ri.de/wp-content/plugins/sociable/images/misterwong.png" title="MisterWong.DE" alt="MisterWong.DE" /&gt;&lt;/a&gt;
	&lt;a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fblog.m-ri.de%2Findex.php%2F2009%2F11%2F07%2Fschreck-lass-nach-microsoft-office-outlook-kann-nicht-gestartet-werden-das-outlook-fenster-kann-nicht-geoeffnet-werden%2F" title="Technorati"&gt;&lt;img src="http://blog.m-ri.de/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" /&gt;&lt;/a&gt;
	&lt;a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.m-ri.de%2Findex.php%2F2009%2F11%2F07%2Fschreck-lass-nach-microsoft-office-outlook-kann-nicht-gestartet-werden-das-outlook-fenster-kann-nicht-geoeffnet-werden%2F&amp;amp;t=Schreck%20lass%20nach%3A%20Microsoft%20Office%20Outlook%20kann%20nicht%20gestartet%20werden.%20Das%20Outlook-Fenster%20kann%20nicht%20ge%C3%B6ffnet%20werden." title="Facebook"&gt;&lt;img src="http://blog.m-ri.de/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" /&gt;&lt;/a&gt;
	&lt;a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;url=http%3A%2F%2Fblog.m-ri.de%2Findex.php%2F2009%2F11%2F07%2Fschreck-lass-nach-microsoft-office-outlook-kann-nicht-gestartet-werden-das-outlook-fenster-kann-nicht-geoeffnet-werden%2F&amp;amp;title=Schreck%20lass%20nach%3A%20Microsoft%20Office%20Outlook%20kann%20nicht%20gestartet%20werden.%20Das%20Outlook-Fenster%20kann%20nicht%20ge%C3%B6ffnet%20werden." title="Live"&gt;&lt;img src="http://blog.m-ri.de/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" /&gt;&lt;/a&gt;
	&lt;a rel="nofollow"  href="http://twitter.com/home?status=Schreck%20lass%20nach%3A%20Microsoft%20Office%20Outlook%20kann%20nicht%20gestartet%20werden.%20Das%20Outlook-Fenster%20kann%20nicht%20ge%C3%B6ffnet%20werden.%20-%20http%3A%2F%2Fblog.m-ri.de%2Findex.php%2F2009%2F11%2F07%2Fschreck-lass-nach-microsoft-office-outlook-kann-nicht-gestartet-werden-das-outlook-fenster-kann-nicht-geoeffnet-werden%2F" title="Twitter"&gt;&lt;img src="http://blog.m-ri.de/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" /&gt;&lt;/a&gt;


&lt;br/&gt;&lt;br/&gt;
	&lt;h4&gt;Themenverwandte Beiträge:&lt;/h4&gt;
	&lt;ul class="st-related-posts"&gt;
	&lt;li&gt;&lt;a href="http://blog.m-ri.de/index.php/2008/04/24/wie-oeffnet-man-in-den-office-produkten-das-kontextmenue-fuer-smarttags/" title="Wie &amp;#246;ffnet man in den Office-Produkten das Kontextmen&amp;#252; f&amp;#252;r Smarttags? (Do 24. Apr 2008)"&gt;Wie &amp;#246;ffnet man in den Office-Produkten das Kontextmen&amp;#252; f&amp;#252;r Smarttags?&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://blog.m-ri.de/index.php/2008/04/13/vs-tipps-tricks-ganze-solutions-zu-einer-master-solutions-zusammenfuegen/" title="VS Tipps &amp;#038; Tricks: Ganze Solutions zu einer Master-Solutions zusammenf&amp;#252;gen (So 13. Apr 2008)"&gt;VS Tipps &amp;#038; Tricks: Ganze Solutions zu einer Master-Solutions zusammenf&amp;#252;gen&lt;/a&gt; (4)&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://blog.m-ri.de/index.php/2009/01/13/schnell-mal-7-neue-rechner-einrichten-klonen/" title="Schnell mal 7 neue Rechner einrichten&amp;#8230; (klonen) (Di 13. Jan 2009)"&gt;Schnell mal 7 neue Rechner einrichten&amp;#8230; (klonen)&lt;/a&gt; (5)&lt;/li&gt;
&lt;/ul&gt;

</description><pubDate>Sat, 07 Nov 2009 15:26:39 Z</pubDate><a10:rights type="text">Martin Richter</a10:rights><a10:contributor><a10:name>Martin Richter</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Martin Richter</dc:creator></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6090483181455953305.post-8546764433856387330</guid><link>http://ralfw.blogspot.com/2009/11/zustand-als-abhangigkeit-ioc-konsequent.html</link><a10:author><a10:name>Ralf Westphal</a10:name></a10:author><title>Zustand als Abhängigkeit – IoC konsequent gedacht [OOP 2010] [endlich-clean.net]</title><description>Design for Testability ist auch Design for Flexibility. Deshalb liebe ich TDD. Allerdings bin ich dabei immer wieder über einen Problemfall gestolpert: die Prüfung des Zustands eines system under test (SUT). Als Beispiel hier ein typischer (nicht unbedingt optimaler) Ansatz bei der bekannten und beliebten KataPotter.  Viele denken bei der Implementierung der Preisberechnung für die KataPotter an </description><pubDate>Sat, 07 Nov 2009 11:18:00 Z</pubDate><a10:updated>2009-11-07T12:18:53+01:00</a10:updated><a10:rights type="text">Ralf Westphal</a10:rights><a10:contributor><a10:name>Ralf Westphal</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ralf Westphal</dc:creator></item><item><guid isPermaLink="true">http://www.artiso.com/ProBlog/PermaLink,guid,8ad86d18-0e69-4935-98fe-652a05df7ed4.aspx</guid><link>http://www.artiso.com/ProBlog/PermaLink,guid,8ad86d18-0e69-4935-98fe-652a05df7ed4.aspx</link><a10:author><a10:name>Thomas Schissler</a10:name></a10:author><title>Reporting Services &amp;uuml;ber einen NLB-Cluster betreiben</title><description>&lt;p&gt;
Mit dem TFS 2010 ist es nun möglich, denn Application-Tier über einen NLB-Cluster
zu betreiben. Damit kann man Ausfallsicherheit und Load-Balancing für den App-Tier
erreichen. Mit einem SQL-Cluster als Data-Tier skaliert der TFS nun sehr schön, sowohl
in Punkte Performance als auch in Bezug auf die Ausfallsicherheit.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ReportingServicesbereinenNLBClusterbetre_A40A/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ReportingServicesbereinenNLBClusterbetre_A40A/image_thumb.png" width="321" height="269"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Nun liegt es natürlich nahe, die Reporting Services ebenfalls über den NLB zu betreiben,
was an sich auch kein Problem ist. Man muss nur ein paar Einstellungen vornehmen.
So hats bei mir funktioniert:
&lt;/p&gt;
&lt;p&gt;
1.) Das Scale-out Deployment für die Reporting-Services auf beiden Servern aktivieren
(setzt SSRS Enterprise voraus)
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ReportingServicesbereinenNLBClusterbetre_A40A/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ReportingServicesbereinenNLBClusterbetre_A40A/image_thumb_1.png" width="485" height="345"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
2.) Die Web Service URL auf die IP-Adresse des NLB einstellen
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ReportingServicesbereinenNLBClusterbetre_A40A/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ReportingServicesbereinenNLBClusterbetre_A40A/image_thumb_2.png" width="482" height="345"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
3.) In der TFS Admin Console die Reporting Services über den NLB registrieren. Das
hat bei mir nur über die IP-Adresse funktioniert, nicht über den Namen. Da muss ich
bei Gelegenheit mal danach schauen.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ReportingServicesbereinenNLBClusterbetre_A40A/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.artiso.com/ProBlog/content/binary/WindowsLiveWriter/ReportingServicesbereinenNLBClusterbetre_A40A/image_thumb_3.png" width="307" height="379"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
4.) In der Datei C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting
Services\ReportServer\rsreportserver.config unter &amp;lt;Service&amp;gt; folgendes Tag einfügen:
&lt;/p&gt;
&lt;p&gt;
&amp;lt;Hostname&amp;gt;sartfsnlb01&amp;lt;/Hostname&amp;gt;
&lt;/p&gt;
&lt;p&gt;
5.) In der Web.config unter C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting
Services\ReportServer\ und unter C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting
Services\ReportManager\ im Abschnitt &amp;lt;system.web&amp;gt; folgenden Tag einfügen:
&lt;/p&gt;
&lt;p&gt;
&amp;lt;machineKey validationKey="627BF72BB33AA8D28CA2C3E80920BA4DF0B726F97EEFBB0F4818350D63E6AFA380811F13ED1F086E386284654DB3DAF676707464EEB73EBF79858F477D8E4F5C"&lt;br&gt;
decryptionKey="F40B6E5A02B29A181D2D213B5ED8F50B73CFCFD0CC56E137" validation="SHA1"
/&amp;gt;
&lt;/p&gt;
&lt;p&gt;
Achtung die Parameterwerte dürfen nuicht umgebrochen werden. Einen eigenen Key kann
man sich einfach unter &lt;a href="http://aspnetresources.com/tools/keycreator.aspx"&gt;http://aspnetresources.com/tools/keycreator.aspx&lt;/a&gt; generieren
lassen.
&lt;/p&gt;
&lt;p&gt;
6.) Reporting Srevices neu starten.
&lt;/p&gt;
&lt;p&gt;
7.) Nun werden bei einem Ausfall eines App-Tiers alle Reporting-Anfragen über den
anderen App-Tier abgewickelt, der Anwender merkt davon nichts außer dass es beim ersten
Zugriff nach dem Ausfall ein wenig länger dauert.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=8ad86d18-0e69-4935-98fe-652a05df7ed4" /&gt;</description><pubDate>Sat, 07 Nov 2009 10:42:05 Z</pubDate><a10:rights type="text">Thomas Schissler</a10:rights><a10:contributor><a10:name>Thomas Schissler</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Schissler</dc:creator></item><item><guid isPermaLink="true">http://blog.it5000.de/PermaLink,guid,db9b1c8a-126b-4466-87a7-abe665beaf6f.aspx</guid><link>http://blog.it5000.de/PermaLink,guid,db9b1c8a-126b-4466-87a7-abe665beaf6f.aspx</link><a10:author><a10:name>Florian Schmidt</a10:name></a10:author><title>Windows 7 und Windows Server 2008 R2 Deployment fertiggestellt!</title><description>&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Manuell oder Vorinstalliert&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;In der Regel wird ein PC entweder per Hand
installiert oder wurde vom Hersteller bereits vorinstalliert. Die Manuelle Installation
ist für die meisten User eine Herausforderung, die mit Treibern und Softwareinstallationen
oft im Chaos endet. Ein vorinstalliertes System ist hier wesentlich einfacher steht
sofort zur Verfügung. Dank der mitgebrachten Software ist oft nicht mehr viel zu installieren.
Problem ist jedoch hier, dass meist sehr viel überflüssiger Balast mit installiert
wird. Gerade die Kunden, die ein Lenovo Notebook kaufen tun mir hier immer leid. Trotz
hochwertiger Ausstattung ist der PC ab der Auslieferung schlicht und ergreifend langsam.
Der Fingerprint Reader, die komplette Google Suite, etliche Lenovo Tools und ein Haufen
überflüssiger Mist verhilft solchen Geräten zu Startzeiten von mehreren Minuten und
hunderte von MB Ram werden durch den Autostart verbraten. Gerade nach der Nutzung
von 2-3 Jahren sind solche PC’s extrem langsam. Die Benutzerprofile sind dann meist
sehr groß geworden und der Kunde denkt fälschlicher Weise über einen Neukauf nach.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Wie geht es besser?&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Es gibt die Möglichkeit den PC komplett selbst
zu konfigurieren und dann zu installieren. Viele große Firmen gehen so vor. Hierbei
wird die Installation genau auf die Anwender zugeschnitten. Der PC wird mit einer
guten und schnellen Konfiguration installiert und dann kommt die Software im Nachgang
hinzu. Hier wird dann nur die Software installiert, die die Anwendergruppe im Schnitt
braucht. Exotische Software wird dann per Bedarf nachinstalliert. Es können aber ohne
Probleme mehrere Anwendergruppen definiert werden.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Das Problem&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Das Problem bei einem solchen automatischen
Deployment ist, dass es sehr viel Zeit und Geld kostet. Daher wird diese Form meist
nur von Großunternehmen gewählt. Zudem sollten möglichst gleiche Systeme vorhanden
sein, da die Anpassungen von Treibern schon pro unterschiedliches System einen mehr
oder weniger großen Aufwand bedeuten. Auch muss bei der ausgewählten Software ein
sinnvolles Konzept hinterlegt werden. Werden Updates zentral eingespielt und welche
Softwareversion wird überhaupt verwendet?&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Vista, Server 2008, Windows 7 und Server 2008
R2&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Seit es Vista gibt hat sich das automatische
Deployment dramatisch vereinfacht. Mit dem sogenannten WAIK können die Installationen
angepasst werden, Treiber integriert werden und die Basisinstallation vorbereitet
werden. Hier kann man sogar ein eigenes Images schon mit diversen Anwendungen verwenden.
Insgesamt geht der Prozess vom Deployment deutlich fixer von der Hand.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Automatisches Deployment für den Mittelstand&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Mit diesen Möglichkeiten und der vorgenommen
Referenzanpassung reduziert sich der Aufwand so deutlich, dass dieses System auch
schon für kleinere Unternehmen interessant wird. Meine Anpassung vom Deployment umfasst
die Erstellung einer DVD für die Installation. Diese DVD enthält ein Image mit Treibern,
der Windows Version, den Angaben zur Umgebung und dem Installationsshare.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;So wird die DVD in das System eingelegt. Wenn
man beim hochfahren eine Taste drückt, startet die Installation. Es werden nun die
Daten kopiert und die gewünschte Version vom Betriebssystem installiert. Nach der
Installation wird ein fortlaufender einfacher Name für den Computer vergeben. Der
Computer wird in das Active Directory von der Firma eingestellt und dann geht die
erste Anmeldung am System automatisch. Das System konfiguriert sich als erstes und
installiert dann die auf der DVD angegeben Programme. Hier stehen schon heute mehr
als 50 von mir paketierte Softwareprodukte zur Wahl. Ist diese Nachinstallation abgeschlossen,
sind kaum 1,5 Stunden vergangen und der PC &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;steht
für den Endanwender bereit. FERTIG!!!&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Versionen und Sondersoftware&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Für jede Installationsart wird ein USB Stick
oder eine DVD verwendet. Dies ist meine Variante bei der sich alles recht einfach
ändern lässt. Geht ein PC kaputt, kann der Kunde selbst die Installation mit dem richtigen
Medium auf den gleichen Stand bringen. Den einen Knopfdruck bekommt er auch ohne IT
Spezialisten hin. Technisch wäre es aber auch möglich alle Installationen auf ein
Medium zu bringen und dann ein Auswahlmenu anzubieten. Auf Basis von Fehlern und Problemen
bei der Auswahl verfolge ich diese Variante jedoch nicht weiter. Auch die Ablage von
dem Basisimage im Netzwerk ist bei den moderaten Preisen von USB Sticks nicht zwingend
sinnvoll, aber kein Problem. Man muss hier nur sicherstellen, dass der Stick die aktuellste
Version enthält!&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Ist eine Software auf dem Share für Nachinstallationen
verfügbar, so kann diese einfach mit dem jeweiligen Produktkey installiert werden.
Auch über das Active Directory kann die Installation vorgenommen werden. Für Updates
sollte man sich getrennt Gedanken machen. Vielleicht ist die Neuinstallation alle
6 Monate die beste Variante und man kommt mit dem Windows Update einfach aus? Solche
Dinge muss man aber mit dem Kunden in einer guten Beratung abstimmen.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Ist ein Softwareprodukt noch gar nicht für
die automatische Installation vorgesehen, so muss es paketiert werden. Bei den meisten
modernen Programmen hält sich auch dieser Aufwand in Grenzen. So kann man ein Office
meist in einem Arbeitstag für den Kunden anpassen, dass es ordentlich läuft. Will
der nächste Kunde die selbe Anpassung haben, so geht das Ganze noch schneller von
sich.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Fazit&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;
&lt;font color=#000000 size=3 face=Calibri&gt;Mit den neuen Versionen von Windows ist die
automatische Installation auch für kleine und mittlere Firmen ein Thema! Besonders
mit einem IT Dienstleister, der schon einen Rahmen mitbringt dürfte es einen echten
Mehrwert für den Kunden bringen.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.it5000.de/aggbug.ashx?id=db9b1c8a-126b-4466-87a7-abe665beaf6f" /&gt;</description><pubDate>Sat, 07 Nov 2009 08:51:52 Z</pubDate><a10:rights type="text">Florian Schmidt</a10:rights><a10:contributor><a10:name>Florian Schmidt</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Florian Schmidt</dc:creator></item><item><guid isPermaLink="true">http://www.artiso.com/ProBlog/PermaLink,guid,f7a0b11f-c175-455b-b5a1-92c7431d632b.aspx</guid><link>http://www.artiso.com/ProBlog/PermaLink,guid,f7a0b11f-c175-455b-b5a1-92c7431d632b.aspx</link><a10:author><a10:name>Thomas Schissler</a10:name></a10:author><title>TechEd in Berlin</title><description>&lt;p&gt;
Dieses Jahr ist nach längerer Zeit die TechEd, die wichtigste Microsoft-Konferenz
in Europa, wieder in Deutschland, genauer gesagt vom 09.Nov – 13. Nov in Berlin. Ich
werde dort als ATE (Ask the Experts) zum Thema Visual Studio ALM vertreten sien und
darüber hinaus mit Christian Binder und Neno Loje ein Q&amp;amp;A Session zu den Themen
TFS, ALM und Visual Studio 2010 zu machen. Die Session wird in Deutsch sein, also
wenn ihr Fragen rund um den Themenbereich habt, besucht unsere Q&amp;amp;A-Session. Soviel
geballtes Wissen auf einmal gibts nicht so bald wieder :-)
&lt;/p&gt;
&lt;p&gt;
Visual Studio Team Foundation Server Q&amp;amp;A&lt;br&gt;
Mittwoch, 11. November&lt;br&gt;
14:00 – 15:00 Uhr&lt;br&gt;
Community Stage im Zentrum der Ausstellung Halle 4.2
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://blogs.msdn.com/blogfiles/cbinder/WindowsLiveWriter/TechEd2009BerlinVisualStudioTeamFoundati_A9AC/clip_image002_2.gif" width="312" height="193"&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.artiso.com/ProBlog/aggbug.ashx?id=f7a0b11f-c175-455b-b5a1-92c7431d632b" /&gt;</description><pubDate>Sat, 07 Nov 2009 07:15:43 Z</pubDate><a10:rights type="text">Thomas Schissler</a10:rights><a10:contributor><a10:name>Thomas Schissler</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Schissler</dc:creator></item><item><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9919003</guid><link>http://blogs.msdn.com/timfis/archive/2009/11/07/enterprise-apps-in-windows-azure-calling-the-internet-service-bus-net-services-from-azure.aspx</link><a10:author><a10:name>Tim Fischer [MS]</a10:name></a10:author><title>Enterprise Apps in Windows Azure - Calling the Internet Service Bus (.NET Services from Azure)</title><description>&lt;p&gt;In the last days I implemented a typical &lt;strong&gt;enterprise&lt;/strong&gt; cloud app on Windows Azure. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;u&gt;WARNING:&lt;/u&gt; Beyond this step no Hello World scenarios! Watch your step!&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_thumb.png" width="599" height="428" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_4.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The scenario is based on &lt;a href="http://gallery.expression.microsoft.com/en-us/CoolBlueTimeTracker"&gt;the famous TimeTracker SL3 Sample&lt;/a&gt; which you can find in the Expression Gallery. It is a vendor management system where I can track my vendors time and i can approve the tasks and then have them send over to SAP to create a Purchase Order.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_thumb_5.png" width="540" height="765" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The Data Model is quite simple, too and done with Entity Framework over SQL Azure.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_thumb_4.png" width="546" height="593" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;In 2010 it is nice that you can generate DDL from the Diagram using a right click and select generate database from model. I used that and modified a bit of the code to work in SQL Azure.&lt;/p&gt;  &lt;p&gt;With help of the &lt;a href="http://sqlazureexplorer.codeplex.com/"&gt;SQL Azure Data Explorer&lt;/a&gt; you can actually see the data from within     &lt;br /&gt;VS2010&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_16.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_thumb_6.png" width="579" height="523" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Based on the time-tracker sample it was quite easy to adjust the connection string to point to SQL Azure and add a .xap mapping for SL to the web.config. Then the Time-Tracker already runs smoothly on Windows Azure. Also I added support for SSL and SSO on Windows Azure&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_24.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_thumb_10.png" width="302" height="196" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_20.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_thumb_8.png" width="584" height="425" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now the reason why i am blogging: I found it quite easy to use the Echoing Sample from the .NET Services SDK as a basis to add communication from my WebRole to my ERP system. However this seemed to work only on my machine and in the simulator.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_22.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_thumb_9.png" width="606" height="370" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;After quite some time I found what was going wrong when accessing the Service Bus from within a WebRole in Azure (when deployed) using NetTcpBinding. I got Configuration Binding Extension not found.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_26.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_thumb_11.png" width="623" height="368" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I then asked the .NET Services Team what is wrong and it turns out that:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#00ff00"&gt;To use the config elements in Azure you need to move the extensions into your web.config. To find them, take a look at your machine.config file. You’ll have to replicate the system.serviceModel extensions that reference the Microsoft.ServiceBus assembly into your web.config that you deploy into Azure. We haven’t made a cut &amp;amp; paste snippet for that yet, but we really should.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If this Problem did not occur i might not have blogged about the whole story. So it seems also to have its good side. ;-). &lt;/p&gt;  &lt;p&gt;Now all works fine also in the Cloud ;-)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_22.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/timfis/WindowsLiveWriter/CallingtheInternetS.NETServicesfromAzure_60FC/image_thumb_9.png" width="606" height="370" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Happy Cloud Computing!&lt;/p&gt;  &lt;p&gt;Tim&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9919003" width="1" height="1"&gt;</description><pubDate>Sat, 07 Nov 2009 06:21:03 Z</pubDate><a10:rights type="text">Tim Fischer [MS]</a10:rights><a10:contributor><a10:name>Tim Fischer [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Fischer [MS]</dc:creator></item><item><guid isPermaLink="false">http://blog.silverlight-city.de/post.aspx?id=079cec92-0de9-44aa-87ab-a6f52fb9fc03</guid><link>http://blog.silverlight-city.de/post/2009/11/06/ist-open-source-wirklich-sicher-Neue-Sicherheitslucken-in-Chrome.aspx</link><a10:author><a10:name>Otto Fischer</a10:name></a10:author><title>ist open source wirklich sicher? Neue Sicherheitslücken in Chrome</title><description>&lt;p&gt;Viele, ja so viele, dass ich manchmal glauben möchte “jeder” sagt, Open-Source ist sicher. Kann ja jeder “reingucken”. Jo. denke ich dann. Ob gucken hilft? &lt;/p&gt;  &lt;p&gt;Und obwohl Open-Source so viel sicherer ist als Closed-Source gibt es doch immer wieder Sicherheitslücken. So auch bei Google-Crome. Und zwar richtig fette: JavaScript im lokalen Kontext und die Möglichkeit beliebigen Schadcode auf Websites mit dem Gear-Plugin auszuführen. Quelle: &lt;a href="http://secunia.com/advisories/37273/"&gt;Secunia&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Zitat&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#004080"&gt;&lt;b&gt;“Description&lt;/b&gt;:         &lt;br /&gt;Some vulnerabilities have been reported in Google Chrome, which potentially can be exploited by malicious people to disclose sensitive information or compromise a user's system.         &lt;br /&gt;1) The browser fails to display a warning when a user downloads and opens e.g. SVG, MHT, or XML files. This can be exploited to potentially execute arbitrary JavaScript code in a local context and e.g. disclose the content of local files via a specially crafted web page.         &lt;br /&gt;2) An error in the Gears SQL API implementation can be exploited to put SQL metadata into a bad state and cause a memory corruption.         &lt;br /&gt;Successful exploitation of this vulnerability may allow execution of arbitrary code, but requires that the user allows the interaction of a malicious website with the Gears plugin.         &lt;br /&gt;The vulnerabilities are reported in versions prior to 3.0.195.32.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><pubDate>Fri, 06 Nov 2009 19:53:41 +0100</pubDate><a10:rights type="text">Otto Fischer</a10:rights><a10:contributor><a10:name>Otto Fischer</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Otto Fischer</dc:creator></item><item><guid isPermaLink="false">http://www.codefest.at/post.aspx?id=443277e5-0d3d-4153-96c8-4a05b25b70ab</guid><link>http://feedproxy.google.com/~r/MsdnAustria/~3/7gpVNmpAEh8/post.aspx</link><a10:author><a10:name>msdn Austria [MS]</a10:name></a10:author><title>Codefest.at Wochenrückblick: 02.11. - 08.11. 2009</title><description>&lt;p&gt;Der Codefest Wochenrückblick informiert über die Geschehnisse rund um .NET der letzten Woche. Damit möchten wir unseren Lesern einen kleinen Wegweiser bieten, der die Fülle an Information, die wöchentlich auf MSDN und vielen anderen Stellen im Web veröffentlicht wird, vorsortiert präsentiert. Wenn Du etwas interessantes vermisst, bitte einfach in den Comments ergänzen!&lt;/p&gt;  &lt;h1&gt;Softwareentwicklung&lt;/h1&gt;  &lt;p&gt;&lt;a href="http://www.devproconnections.com/tabId/180/itemId/4586/Building-Occasionally-Connected-Smart-Clients-with.aspx" target="_blank"&gt;&lt;strong&gt;Occasionally Connected Smart Clients mit der WPF erstellen&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Auf DevProConnection gibt es einen sehr interessanten Artikel, wie man Occasionally Connected Clients erstellen kann. Hierbei werden die ADO.NET Sync Services verwendet.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bloggingabout.net/blogs/gerben/archive/2009/10/30/questionnaire-dsl-with-microsoft-quot-oslo-quot-overview.aspx" target="_blank"&gt;&lt;strong&gt;Was ist Oslo? Avanade hat eine interessante Demo was es ist&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;In diesem Demo wird gezeigt wie Oslo funktionieren kann. Hierbei wird mit “Intellipad” eine DSL entwickelt, welche einen Fragenkatalog auswertet. Danach wurde in “Quadrant” eine Visuelle DSL umgesetzt und das Modell in einer Runtime angezeigt.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/netservicesannounce/archive/2009/10/30/the-net-services-november-2009-ctp-breaking-changes-announcement-and-scheduled-maintenance.aspx" target="_blank"&gt;&lt;strong&gt;Updates in den .NET Services&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Die .NET Services werden auf eine November CTP upgedated. Hierbei sind einige Änderungen, unter anderem jene der Adressen, zu erwarten.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee658247.aspx" target="_blank"&gt;&lt;strong&gt;Dynamic Method Bags&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Bill Wagner erklärt in diesem sehr interessanten Artikel dynamic in C#. Neben der soeben gestarteten dynamic-Serie auf Codefest ist dies sehr gut als Ergänzung!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://download.microsoft.com/download/E/6/A/E6A8A715-7695-493C-8CFA-8E0C23A4BE1D/098-115952-NETFX4-Poster.pdf" target="_blank"&gt;&lt;strong&gt;.NET Framework 4.0 Poster downloaden&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Eine schöne Übersicht über das .NET Framework bietet dieses Poster. Neuerungen und Updates im .NET Framework werden dabei übersichtlich dargestellt.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://dotnet-forum.de/blogs/thorstenhans/archive/2009/11/03/sharepoint-2010-linq2sharepoint.aspx" target="_blank"&gt;&lt;strong&gt;Linq2SharePoint für SharePoint 2010&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Eine sehr interessante Neuerung in SharePoint 2010 ist LinQ. LinQ ist bereits im .NET Framework weit verbreitet und findet nun auch in SharePoint 2010 Einzug. Thorsten Hans gibt in diesem Artikel einen Ausblick auf diese Technologie.&lt;/p&gt;  &lt;h1&gt;User Experience und Design&lt;/h1&gt;  &lt;p&gt;&lt;a href="http://silverdraw.codeplex.com/" target="_blank"&gt;&lt;strong&gt;SilverDraw – eine MultiUser, Online Zeichenapplikation&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Sehr interessant ist diese Applikation. Hierbei können mehrere User auf ein “Board” zeichnen. Ferner ist auch ein Chat implementiert. Der Code ist auf Codeplex.com zugänglich. Hierbei kommt WCF Duplex und Silverlight zum Einsatz.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.silverlight.net/blogs/jesseliberty/archive/2009/11/02/silverlight-from-zero.aspx" target="_blank"&gt;&lt;strong&gt;Einführung in Silverlight von Jesse Liberty&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Jesse Liberty, Silverlight Geek der Ersten Stunde, erstellt eine Serie über Silverlight, welche das Thema von Anfang aufrollt. Diese ist speziell an Einsteiger adressiert.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/swiss_dpe_team/archive/2009/10/30/microsoft-surface-going-below-the-surface.aspx" target="_blank"&gt;&lt;strong&gt;Ein Einblick in das Surface Hardware-Design&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Microsoft Schweiz erklärt die Funktionsweise des Surface Gerätes. Hierbei wird nicht die API, sondern die Hardware erklärt. Viele Bilder vermitteln einen Eindruck darüber, wie das Gerät funktioniert.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://adamkinney.wordpress.com/2009/11/03/a-photosynth-of-neil-gaimans-library/" target="_blank"&gt;&lt;strong&gt;Photosynth der Neil Gaiman’s Bibliothek&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Ein sehr nettes Beispiel von Photosynth wurde anhand der Neil Gaiman Bibliothek realisiert. Das ganze basiert auf Silverlight. Reinschauen loht sich allemal!&lt;/p&gt;  &lt;h1&gt;Lese- und Linktipps&lt;/h1&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/presspass/features/2009/oct09/10-28CustomerServiceWin7.mspx" target="_blank"&gt;&lt;strong&gt;Kundensupport am nächsten Level&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Lori Brownell, General Manager bei Microsoft, gibt Einblicke in den Kundensupport mit Windows 7 und welche neuen Tools dafür eingesetzt wurden. Der Artikel ist für jeden, welcher mit Software zu tun hat sehr empfehlenswert und gut zu lesen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.msn.com/preview.aspx" target="_blank"&gt;&lt;strong&gt;MSN wird von Grund auf neu gestaltet&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Frisches Design für MSN, welches wesentlich frischer wirkt als das doch schon in die Jahre gekommene MSN-Design. Als zentrale Neuerung sticht die Facebook- und Twitter-Integration ins Auge.&lt;/p&gt;</description><pubDate>Fri, 06 Nov 2009 18:42:00 +0100</pubDate><a10:rights type="text">msdn Austria [MS]</a10:rights><a10:contributor><a10:name>msdn Austria [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">msdn Austria [MS]</dc:creator></item><item><guid isPermaLink="false">http://www.giza-blog.de/PermaLink,guid,59325b78-384e-4560-814c-99237bf82800.aspx</guid><link>http://www.giza-blog.de/MSDNTVAusgabe061109InklEinemInterviewMitHannesPreishuber.aspx</link><a10:author><a10:name>Kay Giza [MS]</a10:name></a10:author><title>MSDN TV: Ausgabe 06.11.09 - inkl. einem Interview mit Hannes Preishuber</title><description>&lt;p&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;Für die
aktuelle Folge von „&lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;MSDN TV&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt;“
hatte Moderator Jan &lt;em&gt;Helmhut&lt;/em&gt; Schenk Gelegenheit, mit &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=59325b78-384e-4560-814c-99237bf82800&amp;amp;url=https%3a%2f%2fwww.xing.com%2fprofile%2fHannes_Preishuber%2fN1.2.1.9bdc2c" target=_blank&gt;&lt;font size=2&gt;Hannes
Preishuber&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; zu sprechen, dem Vorstand des IT-Weiterbildungsspezialisten
ppedv AG. Natürlich geht’s dabei u.a. um die anstehende Entwicklerkonferenz &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=59325b78-384e-4560-814c-99237bf82800&amp;amp;url=http%3a%2f%2fwww.vsone.de%2f" target=_blank&gt;&lt;font size=2&gt;VSOne&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;,
die im Februar 2010 in München stattfindet, aber auch ums Trainingsbusiness im allgemeinen,
um Technikvorlieben und um Pro &amp;amp; Contra Open Source. In den Kurzmeldungen: die &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=59325b78-384e-4560-814c-99237bf82800&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fde-de%2fvstudio%2fdd582936.aspx" target=_blank&gt;&lt;font size=2&gt;Beta
2 von Visual Studio 2010 und .NET 4.0&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;, der erste Geburtstag
von &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=59325b78-384e-4560-814c-99237bf82800&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fde-de%2fdevlabs%2fcc950524.aspx" target=_blank&gt;&lt;font size=2&gt;Small
Basic&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;, Neues zur &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=59325b78-384e-4560-814c-99237bf82800&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fgermany%2fmsdn%2fknowhow%2fpress%2fdefault.mspx%23mppv" target=_blank&gt;&lt;font size=2&gt;Microsoft
Press Preview&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;, die Online-Trainings der Weiterbildungsinitiative &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=59325b78-384e-4560-814c-99237bf82800&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fgermany%2fmsdn%2fknowhow%2fliftoff%2fonline%2fdefault.mspx" target=_blank&gt;&lt;font size=2&gt;LiftOff&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; und
die integrierte Entwicklungsumgebung &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=59325b78-384e-4560-814c-99237bf82800&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fgermany%2fpresseservice%2fdetail.mspx%3fid%3d532873" target=_blank&gt;&lt;font size=2&gt;Eclipse&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; zur
Verbesserung der Interoperabilität von Windows 7, Windows Azure und Silverlight [11:37].&lt;br&gt;
&lt;br&gt;
Gaaaanz wichtig sei noch zu erwähnen, es gibt Dank dieser MSDN TV-Folge sogar etwas
zu gewinnen &lt;img alt=":-)" src="http://www.giza-blog.de/smilies/happy.gif"&gt; - was
genau und wie es geht - erfährt man in dem Video!&lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=59325b78-384e-4560-814c-99237bf82800&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fgermany%2fmsdn%2fmsdntv%2fdefault.mspx" target=_blank&gt;&lt;img style="BORDER-BOTTOM: 0px solid; BORDER-LEFT: 0px solid; FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt; BORDER-TOP: 0px solid; BORDER-RIGHT: 0px solid" alt="MSDN TV mit Hannes Preishuber" src="http://www.giza-blog.de/content/binary/MSDN_TV_Hannes_Preishuber.jpg" width=428 height=321&gt;&lt;/a&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;strong&gt;&lt;font size=2&gt;Hier
gibts MSDN TV: &lt;/font&gt;&lt;/strong&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=59325b78-384e-4560-814c-99237bf82800&amp;amp;url=http%3a%2f%2fwww.microsoft.com%2fgermany%2fmsdn%2fmsdntv%2fdefault.mspx" target=_blank&gt;&lt;strong&gt;&lt;font size=2&gt;Ausgabe
06.11.09&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt; 
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 8pt"&gt;PS:
Meinen Dank möchte ich an dieser Stelle mal an das MSDN Online-Team sowie natürlich
Jan Schenk aussprechen, für all die interessanten &lt;a href="http://www.giza-blog.de/ct.ashx?id=59325b78-384e-4560-814c-99237bf82800&amp;amp;url=http%3a%2f%2fwww.msdn-online.de%2fMSDNTV" target=_blank&gt;MSDN
TV&lt;/a&gt;-Folgen!&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.giza-blog.de/aggbug.ashx?id=59325b78-384e-4560-814c-99237bf82800" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
&lt;font face="Verdana" style="font-size: 8pt"&gt;This post is powered by &lt;a href="http://www.giza-blog.de" target="_blank" xmlns="http://www.w3.org/1999/xhtml"&gt;www.Giza-Blog.de&lt;/a&gt; | &lt;/font&gt; &lt;a target="_blank" title="Giza-Blog.de: RSS 2.0 Feed" href="http://www.giza-blog.de/SyndicationService.asmx/GetRss"&gt; &lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;img class="rssLinkImageStyle" title="RSS 2.0" style="border-width: 0px; vertical-align: middle;" alt="Giza-Blog.de: RSS Feed" src="http://www.giza-blog.de/images/feed-icon-16x16.gif" width="16" height="16" align="absmiddle" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;
&lt;br xmlns="http://www.w3.org/1999/xhtml" /&gt;
&lt;b&gt;Visit:&amp;nbsp;&lt;/b&gt;&amp;nbsp;&lt;a href="http://msdn.microsoft.com/de-de/" target="_blank" title="Microsoft Developer Network Germany Online"&gt;MSDN
Online&lt;/a&gt; | &lt;a href="http://twitter.com/MSDN_News" target="_blank"&gt;Follow MSDN Online
on Twitter&lt;/a&gt; | &lt;a href="http://twitter.com/Meverick" target="_blank"&gt;Follow Kay
Giza on Twitter&lt;/a&gt;
&lt;br&gt;
&lt;b&gt;Daily News on MSDN:&amp;nbsp;&lt;/b&gt; &amp;nbsp;&lt;a href="http://www.microsoft.com/germany/msdn/aktuell/" target="_blank"&gt;MSDN
Aktuell&lt;/a&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="font-family: Verdana; font-size: 8pt"&gt;© &lt;/span&gt; &lt;font face="Verdana" style="font-size: 8pt"&gt;Copyright
2006-2009 Kay Giza. All rights reserved. &lt;a href="http://www.giza-blog.de/impressum.aspx" target="_blank"&gt;Legal&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;</description><pubDate>Fri, 06 Nov 2009 18:04:53 Z</pubDate><a10:rights type="text">Kay Giza [MS]</a10:rights><a10:contributor><a10:name>Kay Giza [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kay Giza [MS]</dc:creator></item><item><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:214451</guid><link>http://www.aspnetzone.de/blogs/peterbucher/archive/2009/11/06/professionals-im-profil-interview-von-golo-roden-mit-mir.aspx</link><a10:author><a10:name>Peter Bucher</a10:name></a10:author><title>Professionals im Profil - Interview von Golo Roden mit mir</title><description>&lt;P&gt;&lt;A href="http://www.goloroden.de/"&gt;Golo Roden&lt;/A&gt; hat mit&amp;nbsp;&lt;A href="http://www.professionals-im-profil.net/"&gt;http://www.professionals-im-profil.net/&lt;/A&gt; ein Projekt gestartet, wo er berufstätige Entwickler interviewt, unter anderem mit der Frage, wie man den Einstieg ins Berufsleben geschafft hat und vorallem woher man die Motivation nimmt, immer neue Dinge zu lernen.&lt;/P&gt;
&lt;P&gt;Für mich ist es eine Ehre, sich als ersten den Fragen von Golo stellen zu dürfen und ich freue mich schon auf die folgenden Interviews.&lt;BR&gt;Das Interview mit mir ist unter &lt;A href="http://www.professionals-im-profil.net/Peter-Bucher.aspx"&gt;http://www.professionals-im-profil.net/Peter-Bucher.aspx&lt;/A&gt;&amp;nbsp;zu finden.&lt;/P&gt;
&lt;P&gt;Viel Spass!&lt;/P&gt;&lt;img src="http://www.aspnetzone.de/aggbug.aspx?PostID=214451" width="1" height="1"&gt;</description><pubDate>Fri, 06 Nov 2009 16:58:00 Z</pubDate><a10:rights type="text">Peter Bucher</a10:rights><a10:contributor><a10:name>Peter Bucher</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Bucher</dc:creator></item><item><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9918512</guid><link>http://blogs.msdn.com/cbinder/archive/2009/11/06/teched-2009-berlin-visual-studio-team-foundation-server-2010-q-a-in-deutsch.aspx</link><a10:author><a10:name>Christian Binder [MS]</a10:name></a10:author><title>TechEd 2009 Berlin : Visual Studio Team Foundation Server 2010 Q&amp;A in Deutsch</title><description>&lt;p&gt;Nächste Woche ist TechEd in Berlin :-) Da die TechEd nach langer Zeit wieder in Deutschland ist, haben wir, die Deutschen Team System MVP’s, Neno Loje, Thomas Schissler und Ich uns entschieden eine Deutsche Q/A anzubieten. Gebt uns Euer Feedback und bringt Fragen mit :-)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/b&gt;Wednesday, November 11&lt;sup&gt;th     &lt;br /&gt;&lt;/sup&gt;&lt;b&gt;Time:&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/b&gt;2:00-3:00&lt;b&gt;      &lt;br /&gt;&lt;/b&gt;&lt;b&gt;Title:&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/b&gt;Visual Studio Team Foundation Server Q&amp;amp;A in German    &lt;br /&gt;&lt;b&gt;Location: &lt;/b&gt;Community Stage in the center of the Exhibition Hall 4.2.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cbinder/WindowsLiveWriter/TechEd2009BerlinVisualStudioTeamFoundati_A9AC/clip_image002_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/cbinder/WindowsLiveWriter/TechEd2009BerlinVisualStudioTeamFoundati_A9AC/clip_image002_thumb.gif" width="244" height="152" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Chris&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918512" width="1" height="1"&gt;</description><pubDate>Fri, 06 Nov 2009 11:04:10 Z</pubDate><a10:rights type="text">Christian Binder [MS]</a10:rights><a10:contributor><a10:name>Christian Binder [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Binder [MS]</dc:creator></item><item><guid isPermaLink="false">http://www.tfsblog.de/?p=958</guid><link>http://www.tfsblog.de/2009/11/06/die-ranger-des-ait-teamsystempro-teams/</link><a10:author><a10:name>Sven Hubert</a10:name></a10:author><title>Die Ranger des AIT TeamSystemPro Teams</title><description>Das neue Release des Visual Studio uind Visual Studio Team Foundation Servers 2010 steht vor der Tür. Microsoft und ausgewählte Partner, wie z.B. das AIT TeamSystemPro Team&amp;#160; sind dabei in sogenannten Ranger-Projekten Dokumentationen und Best Practices zusammenzustellen und den Nutzern bereitzustellen. Die Projektbeteiligten, die sogenannten Ranger, arbeiten dabei sehr eng mit den Microsoft Teams und [...]</description><pubDate>Fri, 06 Nov 2009 10:57:46 Z</pubDate><a10:rights type="text">Sven Hubert</a10:rights><a10:content type="html">&lt;p&gt;Das neue Release des Visual Studio uind Visual Studio Team Foundation Servers 2010 steht vor der Tür. Microsoft und ausgewählte Partner, wie z.B. das AIT TeamSystemPro Team&amp;#160; sind dabei in sogenannten &lt;a href="http://msdn.microsoft.com/en-us/teamsystem/ee358787.aspx" target="_blank"&gt;Ranger-Projekten&lt;/a&gt; Dokumentationen und Best Practices zusammenzustellen und den Nutzern bereitzustellen. Die Projektbeteiligten, die sogenannten &lt;a href="http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/06/the-secret-of-creativity.aspx" target="_blank"&gt;Ranger&lt;/a&gt;, arbeiten dabei sehr eng mit den Microsoft Teams und Pilotkunden zusammen.&lt;/p&gt;
&lt;p&gt;Das AIT TeamSystemPro Team ist mit Rudolf Günther, Neno Loje (kürzlich zum &lt;a href="http://msdn.microsoft.com/en-us/teamsystem/ee358786.aspx" target="_blank"&gt;Ranger Champion&lt;/a&gt; gewählt), Sven Hubert, Thorsten Dralle und Boris Wehrle in zahlreichen Projekten zu&amp;#160; Requirements Management, Branching Guidance, Virtualization Guidance, Integration Platform, Architecture Guidance vertreten.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.tfsblog.de/wp-content/uploads/2009/11/rangers.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Rangers" border="0" alt="Rangers" src="http://www.tfsblog.de/wp-content/uploads/2009/11/rangers-thumb.png" width="600" height="303" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Die Erkenntnisse lassen wir zudem in unsere Workshops und Projekte einfließen, so dass Sie von uns immer zu den aktuellsten Themen und Features beraten werden können. Profitieren Sie insbesondere in unseren Seminaren und Trainings, wie z.B. dem &lt;a href="http://www.sigs-datacom.de/nc/seminare/seminardetails.html?tx_mwworkshops_pi1%5BshowUid%5D=1412&amp;amp;tx_mwworkshops_pi1%5BdateID%5D=40" target="_blank"&gt;TeamSystemCamp&lt;/a&gt; kurz vor Weihnachten.&lt;/p&gt;
</a10:content><a10:contributor><a10:name>Sven Hubert</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sven Hubert</dc:creator></item><item><guid isPermaLink="false">http://www.giza-blog.de/PermaLink,guid,1e12b19d-4a80-45b4-9853-4b87b6227e51.aspx</guid><link>http://www.giza-blog.de/MSDNTelefonHotlineMitNeuerServicezeitAb15November2009.aspx</link><a10:author><a10:name>Kay Giza [MS]</a10:name></a10:author><title>MSDN Telefon-Hotline mit neuer Servicezeit ab 15. November 2009</title><description>&lt;p&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Hallo
zusammen,&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;wir haben
uns entschieden, die "&lt;/font&gt;&lt;em&gt;&lt;font size=2&gt;Öffnungszeiten&lt;/font&gt;&lt;/em&gt;&lt;font size=2&gt;"
der MSDN Hotline zu ändern. &lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;Mit
dieser Änderung reagieren wir auf vielfachen Kundenwunsch, die Servicezeit der Hotline
anzupassen und eher in die späten Nachmittagsstunden zu verlagern. Wir bedanken uns
bei allen Kunden, die uns hier stetig Feedback über die MSDN Hotline zukommen lassen.
Vielen Dank, dieser Dialog ist nicht selbstverständlich. &lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt;Die &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;kostenfrei&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt; nutzbare
MSDN Service Hotline ändert Ihre Service-Zeit: &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;Ab 15.
November 2009 ist die Hotline von 12.00 – 18.00 Uhr für Sie verfügbar.&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt; Nutzen
Sie die telefonische Auskunft rund um das &lt;/font&gt;&lt;/span&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=1e12b19d-4a80-45b4-9853-4b87b6227e51&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fde-de%2f" target=_blank&gt;&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;strong&gt;&lt;font size=2&gt;M&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt;icro&lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;s&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt;oft &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;D&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt;eveloper &lt;/font&gt;&lt;strong&gt;&lt;font size=2&gt;N&lt;/font&gt;&lt;/strong&gt;&lt;font size=2&gt;etwork&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;font size=2&gt; (MSDN)
und andere Microsoft-Entwicklerthemen. Ziel der für Sie kostenlosen MSDN Hotline ist
es, Ihnen bei der Orientierung im Microsoft-Angebotsspektrum für Entwickler behilflich
zu sein und Sie beim Auffinden nützlicher Entwickler-relevanter Ressourcen zu unterstützen.
Detaillierte Informationen sowie Telefonnummern finden Sie auf &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=1e12b19d-4a80-45b4-9853-4b87b6227e51&amp;amp;url=http%3a%2f%2fwww.msdn-online.de%2fHotline" target=_blank&gt;&lt;font size=2&gt;http://www.msdn-online.de/Hotline&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;.
Die interessantesten und häufig wiederkehrenden Anfragen werden von dem Hotline Team
im &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=1e12b19d-4a80-45b4-9853-4b87b6227e51&amp;amp;url=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fde-DE%2fmsdnhotlinede%2fthreads" target=_blank&gt;&lt;font size=2&gt;MSDN
Forum&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; zur Verfügung gestellt.&lt;/font&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif"&gt;&lt;strong&gt;&lt;font size=2&gt;Mehr
Informationen: &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=1e12b19d-4a80-45b4-9853-4b87b6227e51&amp;amp;url=http%3a%2f%2fwww.msdn-online.de%2fHotline" target=_blank&gt;&lt;font size=2&gt;MSDN
Telefon-Hotline ändert Service-Zeit&lt;/font&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=1e12b19d-4a80-45b4-9853-4b87b6227e51&amp;amp;url=http%3a%2f%2fwww.msdn-online.de%2fHotline" target=_blank&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; FONT-SIZE: 10pt; BORDER-LEFT-WIDTH: 0px" alt="MSDN Hotline" src="http://www.microsoft.com/germany/msdn/images/promo/Hotline_404x126_2106.gif" width=404 height=126&gt;&lt;/a&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;/p&gt;
&lt;p style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 9pt"&gt;
Weiterführende Links:
&lt;/p&gt;
&lt;ul&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 9pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=1e12b19d-4a80-45b4-9853-4b87b6227e51&amp;amp;url=http%3a%2f%2fwww.msdn-online.de%2fHotline" target=_blank&gt;MSDN
Hotline&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 9pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=1e12b19d-4a80-45b4-9853-4b87b6227e51&amp;amp;url=http%3a%2f%2fsocial.msdn.microsoft.com%2fForums%2fde-DE%2fmsdnhotlinede%2fthreads" target=_blank&gt;MSDN
Hotline Forum&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 9pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=1e12b19d-4a80-45b4-9853-4b87b6227e51&amp;amp;url=http%3a%2f%2fwww.msdn-support.de%2f" target=_blank&gt;MSDN
Support&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 9pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=1e12b19d-4a80-45b4-9853-4b87b6227e51&amp;amp;url=http%3a%2f%2fwww.giza-blog.de%2fMicrosoftHotlineHilfeSupportProblemLoesungKontaktTelefon.aspx" target=_blank&gt;Infos
zum Microsoft Support&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.giza-blog.de/aggbug.ashx?id=1e12b19d-4a80-45b4-9853-4b87b6227e51" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
&lt;font face="Verdana" style="font-size: 8pt"&gt;This post is powered by &lt;a href="http://www.giza-blog.de" target="_blank" xmlns="http://www.w3.org/1999/xhtml"&gt;www.Giza-Blog.de&lt;/a&gt; | &lt;/font&gt; &lt;a target="_blank" title="Giza-Blog.de: RSS 2.0 Feed" href="http://www.giza-blog.de/SyndicationService.asmx/GetRss"&gt; &lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;img class="rssLinkImageStyle" title="RSS 2.0" style="border-width: 0px; vertical-align: middle;" alt="Giza-Blog.de: RSS Feed" src="http://www.giza-blog.de/images/feed-icon-16x16.gif" width="16" height="16" align="absmiddle" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;
&lt;br xmlns="http://www.w3.org/1999/xhtml" /&gt;
&lt;b&gt;Visit:&amp;nbsp;&lt;/b&gt;&amp;nbsp;&lt;a href="http://msdn.microsoft.com/de-de/" target="_blank" title="Microsoft Developer Network Germany Online"&gt;MSDN
Online&lt;/a&gt; | &lt;a href="http://twitter.com/MSDN_News" target="_blank"&gt;Follow MSDN Online
on Twitter&lt;/a&gt; | &lt;a href="http://twitter.com/Meverick" target="_blank"&gt;Follow Kay
Giza on Twitter&lt;/a&gt;
&lt;br&gt;
&lt;b&gt;Daily News on MSDN:&amp;nbsp;&lt;/b&gt; &amp;nbsp;&lt;a href="http://www.microsoft.com/germany/msdn/aktuell/" target="_blank"&gt;MSDN
Aktuell&lt;/a&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="font-family: Verdana; font-size: 8pt"&gt;© &lt;/span&gt; &lt;font face="Verdana" style="font-size: 8pt"&gt;Copyright
2006-2009 Kay Giza. All rights reserved. &lt;a href="http://www.giza-blog.de/impressum.aspx" target="_blank"&gt;Legal&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;</description><pubDate>Fri, 06 Nov 2009 09:58:02 Z</pubDate><a10:rights type="text">Kay Giza [MS]</a10:rights><a10:contributor><a10:name>Kay Giza [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kay Giza [MS]</dc:creator></item><item><guid isPermaLink="false">http://blog.silverlight-city.de/post.aspx?id=df181685-c503-4685-b5a0-8b9c8a8e2ba0</guid><link>http://blog.silverlight-city.de/post/2009/11/06/TechEd-2009-Berlin-e28093-TCL.aspx</link><a10:author><a10:name>Otto Fischer</a10:name></a10:author><title>TechEd 2009 Berlin – TCL</title><description>&lt;p&gt;Und ich bekomme ein blaues T-Shirt.&amp;#160; Naja, ganz so wichtig ist mein “Beitrag” auch nicht. &lt;a href="http://blog.silverlight-city.de/image.axd?picture=WindowsLiveWriter/93d3f19c9857_79CF/TCL%20Floor%20Plan%20Teched%202009%20Berlin_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="TCL Floor Plan Teched 2009 Berlin" border="0" alt="TCL Floor Plan Teched 2009 Berlin" align="right" src="http://blog.silverlight-city.de/image.axd?picture=WindowsLiveWriter/93d3f19c9857_79CF/TCL%20Floor%20Plan%20Teched%202009%20Berlin_thumb.gif" width="509" height="289" /&gt;&lt;/a&gt; Du findest mich im TCL – ich gehöre nicht zu Product&amp;#160; group, MVP, MCT, Microsoft oder ITE sondern zur ganz bedeutenden Gruppe “Other”.     &lt;p&gt;Ich freue mich auf die Gelegenheit, interessante Menschen zu treffen und hoffe auf die eine oder andere spannende Session. Kommst Du auch? &lt;/p&gt;&lt;/p&gt;</description><pubDate>Fri, 06 Nov 2009 08:49:21 +0100</pubDate><a10:rights type="text">Otto Fischer</a10:rights><a10:contributor><a10:name>Otto Fischer</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Otto Fischer</dc:creator></item><item><guid isPermaLink="false">http://blog.norberteder.com/?entry=entry091106-083445</guid><link>http://blog.norberteder.com/index.php?entry=entry091106-083445</link><a10:author><a10:name>Norbert Eder</a10:name></a10:author><title>Making of Community-Projects  Interview mit Norbert Eder</title><description>Gregor Biswanger hat mich vor einigen Tagen zum Thema &lt;b&gt;Making of Community-Projects&lt;/b&gt; interviewt. Dabei ist ein nettes Gespräch entstanden, welches seit gestern bei ihm zu lesen ist. Es stand die Frage im Raum, wie es denn zu Community-Projekten kommt und wie man denn diese schließlich aufbaut. Ein nettes Gespräch, wo es wohl noch massig weitere Dinge zu sagen gäbe.
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://webenliven-space.de/dotnetblog/post/2009/11/05/Making-of-Community-Projects-e28093-Interview-mit-Norbert-Eder.aspx" target="_blank" &gt;Zum Interview&lt;/a&gt;</description><pubDate>Fri, 06 Nov 2009 07:34:45 Z</pubDate><a10:rights type="text">Norbert Eder</a10:rights><a10:contributor><a10:name>Norbert Eder</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Norbert Eder</dc:creator></item><item><guid isPermaLink="true">http://www.gmbsg.com/stories/?p=415</guid><link>http://www.gmbsg.com/stories/?p=415</link><a10:author><a10:name>Ilker Cetinkaya</a10:name></a10:author><title>Über das Ziel von Coding Dojos</title><description>Gestern gab es wieder mal ein .NET Coding Dojo für Einsteiger. Pete hat sich ein besonderes Kata ausgesucht, das KataBlog. Es hat mich anfangs nicht sehr überrascht, dass er den Einsteigern auch neue Technologien und &amp;#8220;Fancy Stuff&amp;#8221; wie </description><pubDate>Thu, 05 Nov 2009 20:42:26 Z</pubDate><a10:rights type="text">Ilker Cetinkaya</a10:rights><a10:content type="html">&lt;p&gt;Gestern gab es wieder mal ein .NET Coding Dojo für Einsteiger. Pete hat sich ein besonderes Kata ausgesucht, das &lt;a href="http://www.gmbsg.com/works/index.php?title=MucNetDojo_-_Kata_Blog"&gt;KataBlog&lt;/a&gt;. Es hat mich anfangs nicht sehr überrascht, dass er den Einsteigern auch neue Technologien und &amp;#8220;Fancy Stuff&amp;#8221; wie &lt;a href="http://www.asp.net/mvc/"ASP.NET MVC&lt;/a&gt; mitgeben wollte. Ich fand die Idee gut und unterstützte ihn dabei.&lt;/p&gt;
&lt;p&gt;Kurz zum KataBlog: Das Kata ist logisch gesehen eine unfassbar einfache Aufgabe. Doch genau das macht das Kata so besonders und zum Teil auch besonders &amp;#8220;herausfordernd&amp;#8221;. Ein Blog mit ASP.NET MVC im vollen TDD zu lösen ist für Einsteiger eine nicht zu unterschätzende Aufgabe. Ebenso würden wahrscheinlich auch TDD Skeptiker sich mit diesem Kata schwer tun und sich auf den ersten Blick in Ihrer Meinung auch bestätigt fühlen. Doch KataBlog ist wohl (nach &lt;a href="http://www.gmbsg.com/works/index.php?title=MucNetDojo_-_Kata_FizzBuzz"&gt;KataFizzBuzz&lt;/a&gt;) der nächste große Schritt für Neulinge. Die Erkenntnisse aus dem Blog möchte ich dem passionierten Dojo- und Kata-Freund nicht gleich verraten &amp;#8211; schließlich ist Selbsterkenntnis eine schöne Sache. &lt;img src='http://www.gmbsg.com/stories/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;Nun, wie dem auch sei: Im gestrigen Dojo waren wieder einmal gut aufgelegte und aktive Teilnehmer dabei. Zu meiner Überraschung interessierten sich die Teilnehmer sehr viel mehr über grundlegende Technologien wie HTTP, ASP.NET und das ASP.NET MVC als über die eigentliche Aufgabenstellung. Pete reagierte gut, indem er alle nochmals darauf hinwies, dass ein Coding Dojo ein einziges Ziel verfolgt: Die erfolgreiche Vermittlung von nutzbaren Lerneffekten &amp;#8211; für jeden Teilnehmer. Er sagte dass ein Dojo keine feste, durchgeplante Veranstaltung mit fixem Programm oder Paradigma sei, sondern dass das Dojo primär die Teilnehmer und den Lerngedanken im Fokus hat. Er stellte die Einsteiger vor die Wahl: Wollen sie mehr über &amp;#8220;das Handwerkszeug&amp;#8221; ASP.NET &amp;#038; ASP.NET MVC erfahren, oder mehr über die Lösung der Aufgabe per TDD und professionellen Entwicklungs-Prinzipien?&lt;/p&gt;
&lt;p&gt;Die Teilnehmer überlegten eine Weile, bevor man sich dann einhellig für eine tiefere Behandlung der Technologie entschied. Pete &amp;#038; ich gingen auf diesen Wunsch ein und erklärten die Technik. Anfangs noch ein wenig theoretisch. Es wurden Fragen beantwortet wie z.B. &amp;#8220;Was ist MVC?&amp;#8221; oder &amp;#8220;Was ist der Unterschied zu Web Forms?&amp;#8221;. Nach einem kurzen Theorie-Exkurs am Flipchart ging es dann endlich Hands-On mit ASP.NET MVC auf zum Blog.&lt;/p&gt;
&lt;p&gt;Pete zeigte die ASP.NET Templates, die Einbindung der Unit-Test Frameworks NUnit und xUnit in diese und die einzelnen Wizards für den Controller und die Views. Gelöst haben wir dann das Blog indem wir und Stück für Stück mit den Views an die Grundfunktionen &amp;#8220;Anzeigen&amp;#8221;, &amp;#8220;Editieren&amp;#8221;, &amp;#8220;Erstellen&amp;#8221;, &amp;#8220;Löschen&amp;#8221; und &amp;#8220;Auflisten&amp;#8221; herangewagt haben. In Anbetracht der Tatsache, dass es so viele Fragen zu MVC gab (Stichwort: Routes, Convention over Configuration, Partial Views usw usf.) ging es auch relativ flüssig durch. Nach knapp 3 Stunden waren wir soweit und hatten den Blog am laufen.&lt;/p&gt;
&lt;p&gt;Ich kann jedem empfehlen, der sich mit TDD ernsthaft auseinandersetzen möchte, sich (nach den Erkenntnissen von KataFizzBuzz), die nächste Stufe Richtung sauberen Code und erweiterbarem Design zu erklimmen und das Kata zu lösen. Die Fortgeschrittenen TDD&amp;#8217;ler werden schnell sehen, worum es bei dem Kata geht. Ich finde es besonders mutig und gut, dass Pete so eine technisch wie auch methodisch herausfordernde Aufgabe im Einsteiger-Dojo vorgestellt hat. Noch bewundernswerter war allerdings das aktive &amp;#8220;erfassen &amp;#038; erkennen&amp;#8221; der Teilnehmer, die sich keineswegs davor gescheut haben, sondern die ganzen 3 Stunden über mit voller Konzentration dabei waren. Ich kann nur sagen: Hut ab &amp;#038; Danke!&lt;/p&gt;
&lt;p&gt;Was soll ich sagen, mein Fazit wird langsam eintönig, aber es ist nun mal so: In zwei Wochen ist schon wieder &lt;a href="https://www.xing.com/events/net-coding-dojo-experten-416950"&gt;Experten-Dojo (18.11.2009 18:00 Uhr)&lt;/a&gt; und ich freue mich jetzt schon wahnsinnig. Es wird sicherlich wieder eine erkenntnisreiche, spannende und spassige Sache!&lt;/p&gt;
</a10:content><a10:contributor><a10:name>Ilker Cetinkaya</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ilker Cetinkaya</dc:creator></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8163282460106371512.post-3232582462165654488</guid><link>http://devtechblog.blogspot.com/2009/11/exam-70-564-designing-and-developing.html</link><a10:author><a10:name>Martin Hey</a10:name></a10:author><title>Exam 70-564: Designing and Developing Applications using the Microsoft .NET Framework 3.5</title><description>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Nach 3 Monaten war nun mal wieder eine Zertifizierungsprüfung dran - diesmal war es die Nummer 70-564. Das Ergebnis ist "Passed" sobald die Systeme von Microsoft aktualisiert sind darf ich mich "Microsoft Certified Professional Developer - ASP.NET Developer 3.5" nennen.&lt;br/&gt;&lt;br/&gt;Umfang der Prüfung waren 50 Fragen aus folgenden Themengebieten:&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Designing and Implementing Controls&lt;/li&gt;&lt;li&gt;Designing the Presentation and Layout of an Application&lt;/li&gt;&lt;li&gt;Accessing Data and Services&lt;/li&gt;&lt;li&gt;Establishing ASP.NET Solution Structure&lt;/li&gt;&lt;li&gt;Leveraging and Extending ASP.NET Architecture&lt;/li&gt;&lt;li&gt;Applying Security Principles in Application Design&lt;/li&gt;&lt;/ul&gt;Mit dabei waren Fragen, nach dem Motto "Welches Ergebnis liefert diese LINQ-Query?", "Welche DataAdapter werden wann verwendet?", "Welche datengebunden Controls haben welche spezifischen Eigenschaften?" oder "Welche Anwendungsarchitektur wählt man wenn eine Firewall mit gewissen Eigenschaften im Netz exisitiert?"&lt;br/&gt;&lt;br/&gt;Mein Eindruck war, dass die Fragen sehr nah an die der MCTS-Prüfung &lt;a href='http://devtechblog.blogspot.com/2009/07/exam-70-562-microsoft-net-framework-35.html' target='_blank'&gt;70-562&lt;/a&gt; angelehnt sind und jemand der diese Prüfung bestanden hat und im täglichen Geschäft ASP.NET-Anwendungen entwickelt auch die PRO-Prüfung bestehen kann.&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8163282460106371512-3232582462165654488?l=devtechblog.blogspot.com'/&gt;&lt;/div&gt;</description><pubDate>Thu, 05 Nov 2009 19:17:00 +0100</pubDate><a10:link rel="replies" type="application/atom+xml" title="Kommentare zum Post" href="http://devtechblog.blogspot.com/feeds/3232582462165654488/comments/default" /><a10:link rel="replies" type="text/html" title="2 Kommentare" href="https://www.blogger.com/comment.g?blogID=8163282460106371512&amp;postID=3232582462165654488" /><a10:link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8163282460106371512/posts/default/3232582462165654488" /><a10:link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8163282460106371512/posts/default/3232582462165654488" /><a10:updated>2009-11-05T19:17:45+01:00</a10:updated><a10:rights type="text">Martin Hey</a10:rights><a10:contributor><a10:name>Martin Hey</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Martin Hey</dc:creator></item><item><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9918057</guid><link>http://blogs.msdn.com/cbinder/archive/2009/11/05/tfs-kompatibilit-t-mit-lteren-vs-clients.aspx</link><a10:author><a10:name>Christian Binder [MS]</a10:name></a10:author><title>TFS Kompatibilität mit älteren VS Clients</title><description>&lt;p&gt;Da diese Frage nun schon öfters bekommen habe, hier der Stand der Dinge:   &lt;br /&gt;Ja man kann mit VS 2005 und 2008 auf TFS 2010 zugreifen, womit der Umstieg auf TFS 2010 deutlich vereinfacht wird. Was geht und Was nicht ist &lt;a href="http://blogs.msdn.com/teams_wit_tools/archive/2009/10/19/compatibility-matrix-for-2010-beta-2-team-foundation-server-to-team-explorer-2008-and-2005.aspx" target="_blank"&gt;hier&lt;/a&gt; genau beschrieben. Dennoch muss noch folgender Patch auf den Clients installiert werden:    &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cf13ea45-d17b-4edc-8e6c-6c5b208ec54d" target="_blank"&gt;Visual Studio Team System 2008 Service Pack 1 Forward Compatibility Update for Team Foundation Server 2010&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Chris&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918057" width="1" height="1"&gt;</description><pubDate>Thu, 05 Nov 2009 16:20:27 Z</pubDate><a10:rights type="text">Christian Binder [MS]</a10:rights><a10:contributor><a10:name>Christian Binder [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Binder [MS]</dc:creator></item><item><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9918044</guid><link>http://blogs.msdn.com/swiss_dpe_team/archive/2009/11/05/consuming-an-entity-data-model-using-the-entitydatasource-control-tutorial.aspx</link><a10:author><a10:name>Swiss DPE Team [MS]</a10:name></a10:author><title>Consuming an Entity Data Model using the EntityDataSource control (tutorial)</title><description>&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;
&lt;P style="TEXT-ALIGN: justify; LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;With this tutorial I want to show you how you can use the EntityDataSource control in order to build an ASP.NET Web Page which is consuming an Entity Data Model (created with Entity Framework); you will see what are the typical problems you may find when working with this control. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="TEXT-ALIGN: justify; LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;
&lt;P&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P style="TEXT-ALIGN: justify; LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;EntityDataSource allows you to bind your data into the UI and is really powerful in case you want to do Rapid Application Development; but because it lives completely in the UI it does not allow you to have a separation of the logic between the layers. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;If you want to have such a separation you are probably better with the ObjectDataSource control. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="TEXT-ALIGN: justify; LINE-HEIGHT: normal; MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;
&lt;P&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;The Entity Data Model we want to consume is represented by the following diagram and has been generated from the Northwind sample database. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/image_thumb_2.png" width=628 height=402 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;The sample page we want to build will be like the following one: a typical master-detail solution with Edit functionality. You select a customer and you get the details about the Order. You can change the customer details, the order details (including the assigned shipper) and modify the shipper’s details. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image004 border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image004_thumb.jpg" width=757 height=384 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image004_thumb.jpg" v:shapes="_x0000_i1069"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;In order to start you have to create an ASP.NET Web Application using Visual Studio, add an ADO.NET Entity Data Model (please include the following tables: &lt;I style="mso-bidi-font-style: normal"&gt;customers&lt;/I&gt;, &lt;I style="mso-bidi-font-style: normal"&gt;orders &lt;/I&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;and &lt;I style="mso-bidi-font-style: normal"&gt;shippers&lt;/I&gt;). We are now ready to consume the model. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Open the default.aspx page within the Visual Studio designer and drag &amp;amp; drop a GridView control. Click on the top-right corner of the GridView controller and choose &amp;lt;New data source…&amp;gt; as dataSource. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image005_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image005_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image005 border=0 alt=clip_image005 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image005_thumb.png" width=614 height=285 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image005_thumb.png" v:shapes="_x0000_i1068"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;When the wizard starts, select Entity as data source. By choosing Entity an EntityDataSource control with ID &lt;I style="mso-bidi-font-style: normal"&gt;EntityDataSource1&lt;/I&gt; will be automatically generated for you. Press OK.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/image_thumb_3.png" width=555 height=429 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;On the following mask you have to select the connection string and the object container name (just one single choice is available, take this one). Then press Next. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;You now have to configure the data selection. Because in the first GridView control (GridView1) we want to display the list of customers and we also want to expose edit functionality, choose &lt;I style="mso-bidi-font-style: normal"&gt;customers &lt;/I&gt;as EntitySetName, select &lt;I style="mso-bidi-font-style: normal"&gt;Select All (Entity Value)&lt;/I&gt; and put the hacks by &lt;I style="mso-bidi-font-style: normal"&gt;Enable automatic inserts/updates/deletes&lt;/I&gt;. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="TEXT-INDENT: -35.45pt; MARGIN: 0cm 0cm 10pt 35.45pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Note:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;a huge number of people don't realize that when they select some specific columns from the following dialog, they are actually creating an anonymous type and therefore it is not possible to have automatic inserts, updates and deletes. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/B&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image009_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image009_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image009 border=0 alt=clip_image009 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image009_thumb.jpg" width=554 height=464 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image009_thumb.jpg" v:shapes="_x0000_i1066"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt; 
&lt;P mce_keep="true"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Press F&lt;I style="mso-bidi-font-style: normal"&gt;inish &lt;/I&gt;and then by the following dialog activate all functionalities (Enable Paging, Enable Sorting, … ) as shown below: 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image011_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image011_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image011 border=0 alt=clip_image011 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image011_thumb.jpg" width=285 height=342 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image011_thumb.jpg" v:shapes="Picture_x0020_3"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;In order to put some color, click on &lt;I style="mso-bidi-font-style: normal"&gt;Auto Format&lt;/I&gt;… and select &lt;I style="mso-bidi-font-style: normal"&gt;classic color&lt;/I&gt;. Set also the &lt;I style="mso-bidi-font-style: normal"&gt;PageSize&lt;/I&gt; property of the Gridview1 control to &lt;I style="mso-bidi-font-style: normal"&gt;5&lt;/I&gt;. You should now have something like this: 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image013_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image013_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image013 border=0 alt=clip_image013 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image013_thumb.jpg" width=752 height=300 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image013_thumb.jpg" v:shapes="Picture_x0020_4"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;We now want to show the related orders. That’s why we need to add a second GridView control by placing it into the designer using drag&amp;amp;drop. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image015_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image015_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image015 border=0 alt=clip_image015 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image015_thumb.jpg" width=760 height=451 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image015_thumb.jpg" v:shapes="Picture_x0020_5"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;From the GridView Tasks menu, select &lt;I style="mso-bidi-font-style: normal"&gt;New data Source&lt;/I&gt; (Choose Data Source) as you did before…the wizard will start. Follow the same steps you did before for the GridView1 control representing the list of customers. The only difference here, is that you have of course to choose &lt;I style="mso-bidi-font-style: normal"&gt;Orders&lt;/I&gt; instead of &lt;I style="mso-bidi-font-style: normal"&gt;Customers&lt;/I&gt; as &lt;I style="mso-bidi-font-style: normal"&gt;EntitySetName&lt;/I&gt; from the &lt;I style="mso-bidi-font-style: normal"&gt;Configure Data Selection&lt;/I&gt; mask.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image017_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image017_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image017 border=0 alt=clip_image017 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image017_thumb.jpg" width=764 height=448 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image017_thumb.jpg" v:shapes="Picture_x0020_6"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Because we want to display just the order related to the selected customer within the first GridView control we have to define a “where condition”. In order to do that select the &lt;I style="mso-bidi-font-style: normal"&gt;EntityDataSource2 &lt;/I&gt;control (the one which is related to the second GridView control- GridView2). In the properties window, select the &lt;I style="mso-bidi-font-style: normal"&gt;Where &lt;/I&gt;property and click on the ellipse button as showed below: 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image018_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image018_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image018 border=0 alt=clip_image018 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image018_thumb.png" width=351 height=427 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image018_thumb.png" v:shapes="Picture_x0020_7"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 12pt; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-no-proof: yes; mso-fareast-font-family: calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-fareast-theme-font: minor-latin; mso-bidi-language: ar-sa" lang=EN-US&gt;Set the where expression (which is an EntitySQL expression) as shown below. Then add a parameter and name it &lt;I style="mso-bidi-font-style: normal"&gt;CustomerId &lt;/I&gt;(must correspond to the @ parameter within the where expression).&lt;I style="mso-bidi-font-style: normal"&gt; &lt;/I&gt;From the &lt;I style="mso-bidi-font-style: normal"&gt;Parameter source &lt;/I&gt;dropdown list select &lt;I style="mso-bidi-font-style: normal"&gt;Control&lt;/I&gt; and as &lt;I style="mso-bidi-font-style: normal"&gt;ControlID &lt;/I&gt;select &lt;I style="mso-bidi-font-style: normal"&gt;GridView1&lt;/I&gt;. Within the &lt;I style="mso-bidi-font-style: normal"&gt;Parameters &lt;/I&gt;section the value &lt;I style="mso-bidi-font-style: normal"&gt;GridView1.SelectedValue &lt;/I&gt;appears, which represents the ID of the selected customer within the customers grid.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image019_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image019_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image019 border=0 alt=clip_image019 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image019_thumb.png" width=504 height=469 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image019_thumb.png" v:shapes="_x0000_i1060"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;One last thing has to be done. Click on the &lt;I style="mso-bidi-font-style: normal"&gt;Show advanced properties&lt;/I&gt; and select &lt;I style="mso-bidi-font-style: normal"&gt;String&lt;/I&gt; as DbType.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image021_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image021_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image021 border=0 alt=clip_image021 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image021_thumb.jpg" width=268 height=329 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image021_thumb.jpg" v:shapes="Picture_x0020_8"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;You can now start the application by pressing F5. By selecting one customer you should get the related orders. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P style="TEXT-INDENT: -35.45pt; MARGIN: 0cm 0cm 10pt 35.45pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Note:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ShipperId (Shipper.ShipperID), which represents the ID of the related entity (Shipper), is shown within the GridView, even though the related entity Shipper has not been loaded (no include statement has been defined). 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P class=MsoNormal mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P style="TEXT-INDENT: -0.05pt; MARGIN-LEFT: 35.45pt" class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image022_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image022_2.png"&gt;&lt;STRONG&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image022 border=0 alt=clip_image022 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image022_thumb.png" width=221 height=244 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image022_thumb.png" v:shapes="Picture_x0020_9"&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Now suppose we want to show the &lt;I style="mso-bidi-font-style: normal"&gt;CompanyName&lt;/I&gt; of the &lt;I style="mso-bidi-font-style: normal"&gt;Shipper&lt;/I&gt; Navigation Property (have a look at the Order entity within the first figure, which represents the Entity Data Model). &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Because &lt;I style="mso-bidi-font-style: normal"&gt;CompanyName&lt;/I&gt; is not the key, in order to show it we have to explicitly tell to the &lt;I style="mso-bidi-font-style: normal"&gt;EntityDataSource2 &lt;/I&gt;control (the one bind to the orders GridView control-GridView2) that when the orders are loaded, the related shipper must also be loaded. In order to do that you have to set the &lt;I style="mso-bidi-font-style: normal"&gt;include &lt;/I&gt;property of &lt;I style="mso-bidi-font-style: normal"&gt;EntityDataSource2 &lt;/I&gt;control to &lt;I style="mso-bidi-font-style: normal"&gt;Shipper. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image023_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image023_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image023 border=0 alt=clip_image023 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image023_thumb.png" width=303 height=412 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image023_thumb.png" v:shapes="Picture_x0020_10"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/I&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;What you are doing here, is just a sample of Eager Loading. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;The next step is to define a column to show the &lt;I style="mso-bidi-font-style: normal"&gt;CompanyName&lt;/I&gt;: switch to source view and copy the following piece of xml highlighted in yellow. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image025_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image025_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image025 border=0 alt=clip_image025 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image025_thumb.jpg" width=750 height=631 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image025_thumb.jpg" v:shapes="Picture_x0020_11"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Paste it below and replace &lt;I style="mso-bidi-font-style: normal"&gt;ShipperID &lt;/I&gt;with &lt;I style="mso-bidi-font-style: normal"&gt;CompanyName&lt;/I&gt;: 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image027_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image027_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image027 border=0 alt=clip_image027 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image027_thumb.jpg" width=755 height=174 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image027_thumb.jpg" v:shapes="Picture_x0020_14"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;If you try now to start the application (F5), by selecting one customer you will get the following strange error: &lt;I style="mso-bidi-font-style: normal"&gt;“A field or property with the name ‘Shipper.CompanyName’ was not found on the selected data source”.&lt;/I&gt;&lt;/FONT&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image029_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image029_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image029 border=0 alt=clip_image029 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image029_thumb.jpg" width=756 height=452 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image029_thumb.jpg" v:shapes="Picture_x0020_12"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Why that? &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Because you cannot access properties of related entities with &lt;I style="mso-bidi-font-style: normal"&gt;BoundFields&lt;/I&gt;, even if the related entity has been loaded with the &lt;I style="mso-bidi-font-style: normal"&gt;Include &lt;/I&gt;clause. What we need in order to show properties which are not keys of related entities, is a &lt;I style="mso-bidi-font-style: normal"&gt;TemplateField&lt;/I&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;One easy step is needed to transform your &lt;I style="mso-bidi-font-style: normal"&gt;BoundField &lt;/I&gt;in &lt;I style="mso-bidi-font-style: normal"&gt;TemplateField&lt;/I&gt;. Switch to Design view and from the &lt;I style="mso-bidi-font-style: normal"&gt;GridView Task menu&lt;/I&gt; (of the GridView2 control) select &lt;I style="mso-bidi-font-style: normal"&gt;Edit Columns …&lt;/I&gt;&lt;/FONT&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image030_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image030_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image030 border=0 alt=clip_image030 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image030_thumb.png" width=285 height=503 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image030_thumb.png" v:shapes="Picture_x0020_15"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;When the &lt;I style="mso-bidi-font-style: normal"&gt;Fields &lt;/I&gt;dialog appears, select the &lt;I style="mso-bidi-font-style: normal"&gt;Shipper.CompanyName &lt;/I&gt;and click on the &lt;I style="mso-bidi-font-style: normal"&gt;Convert this field into a TemplateField&lt;/I&gt; and press OK.&lt;/FONT&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image031_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image031_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image031 border=0 alt=clip_image031 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image031_thumb.png" width=549 height=440 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image031_thumb.png" v:shapes="Picture_x0020_16"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Go to the source view and remove the generated square brackets from the template field. If you don’t do it, you will get a strange error.&lt;/FONT&gt; &lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image033_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image033_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image033 border=0 alt=clip_image033 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image033_thumb.jpg" width=753 height=258 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image033_thumb.jpg" v:shapes="Picture_x0020_17"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;If you now try to go in Edit mode within the Orders grid you will see that the cells of CompanyName column are being transformed in TextBox control. This doesn’t make really sense; in fact what you need here is a DropDownList control; what you want to do here is evtl. to assign another shipper and not to edit shipper information. &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;In order to get the DropDownList we have to change the Edit template. Switch again back to the design view. Select &lt;I style="mso-bidi-font-style: normal"&gt;Edit Templates&lt;/I&gt;.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image034_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image034_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image034 border=0 alt=clip_image034 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image034_thumb.png" width=426 height=388 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image034_thumb.png" v:shapes="Picture_x0020_18"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Per default Visual Studio is displaying the &lt;I style="mso-bidi-font-style: normal"&gt;ItemTemplate&lt;/I&gt;, but Be Careful…what we want to change here is the &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;EditItemTemplate&lt;/I&gt;&lt;/B&gt;. Switch to the &lt;/FONT&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT face=Calibri&gt;EditItemTemplate.&lt;/FONT&gt; &lt;/I&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image035_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image035_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image035 border=0 alt=clip_image035 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image035_thumb.png" width=704 height=515 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image035_thumb.png" v:shapes="Picture_x0020_26"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;You should now have the following situation:&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image036_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image036_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image036 border=0 alt=clip_image036 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image036_thumb.png" width=711 height=304 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image036_thumb.png" v:shapes="Picture_x0020_27"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Replace the &lt;I style="mso-bidi-font-style: normal"&gt;TextBox&lt;/I&gt; control with a &lt;I style="mso-bidi-font-style: normal"&gt;DropDownList &lt;/I&gt;control. Then from the &lt;I style="mso-bidi-font-style: normal"&gt;DropDownList Tasks &lt;/I&gt;menu select &lt;/FONT&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT face=Calibri&gt;Choose Data Source …&lt;/FONT&gt; &lt;/I&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image037_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image037_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image037 border=0 alt=clip_image037 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image037_thumb.png" width=721 height=349 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image037_thumb.png" v:shapes="Picture_x0020_21"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/I&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;From the &lt;I style="mso-bidi-font-style: normal"&gt;Choose Data Source &lt;/I&gt;dialog select &amp;lt;New data source…&amp;gt; (we need a new EntityDataSource control in order to display shipper information). &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image039_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image039_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image039 border=0 alt=clip_image039 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image039_thumb.jpg" width=556 height=430 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image039_thumb.jpg" v:shapes="_x0000_i1046"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Select once again &lt;I style="mso-bidi-font-style: normal"&gt;Entity &lt;/I&gt;and put as ID &lt;I style="mso-bidi-font-style: normal"&gt;EntityDataSourceShipper1.&lt;/I&gt;&lt;/FONT&gt; &lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image041_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image041_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image041 border=0 alt=clip_image041 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image041_thumb.jpg" width=556 height=436 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image041_thumb.jpg" v:shapes="Picture_x0020_22"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Press OK and follow the wizard as you did before (of course by selecting all related Shipper information and without enabling any inserting, updating and deleting functionality). &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;At the end select &lt;I style="mso-bidi-font-style: normal"&gt;CompanyName &lt;/I&gt;as data field to be displayed within the combobox and &lt;I style="mso-bidi-font-style: normal"&gt;ShipperID&lt;/I&gt; to be used as ID. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image043 border=0 alt=clip_image043 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image043_thumb.jpg" width=548 height=430 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image043_thumb.jpg" v:shapes="Picture_x0020_23"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Press OK. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;We now have to synchronize the value of the DropDownList (SelectedValue) with currently item being edit. To do that click on the &lt;I style="mso-bidi-font-style: normal"&gt;EditDataBinding… &lt;/I&gt;link within the DropDownList Tasks menu. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image044_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image044_2.png"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image044 border=0 alt=clip_image044 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image044_thumb.png" width=500 height=320 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image044_thumb.png" v:shapes="Picture_x0020_25"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;and within the &lt;I style="mso-bidi-font-style: normal"&gt;DataBindings&lt;/I&gt; dialog set a custom binding expression for the &lt;I style="mso-bidi-font-style: normal"&gt;SelectedValue &lt;/I&gt;property (as shown below without square brackets). &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image046_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image046_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image046 border=0 alt=clip_image046 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image046_thumb.jpg" width=618 height=400 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image046_thumb.jpg" v:shapes="Picture_x0020_24"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;We are now finished with the Editing Template. Click on &lt;I style="mso-bidi-font-style: normal"&gt;End Template Editing&lt;/I&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image047_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image047_2.png"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image047 border=0 alt=clip_image047 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image047_thumb.png" width=623 height=236 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image047_thumb.png" v:shapes="Picture_x0020_28"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt; &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;There is another problem to be solved. There may be situation where we do not have a shipper assigned to an order yet. Because of that we have to add an empty entry in the DropDownList control, otherwise you will get an error. &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Add the empty entry by adding the following line within the DropDownList control definition: &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image049_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image049_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image049 border=0 alt=clip_image049 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image049_thumb.jpg" width=623 height=282 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image049_thumb.jpg" v:shapes="Picture_x0020_31"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;You also have to set the &lt;I style="mso-bidi-font-style: normal"&gt;AppendDataBoundItems &lt;/I&gt;property&lt;I style="mso-bidi-font-style: normal"&gt; &lt;/I&gt;of the&lt;I style="mso-bidi-font-style: normal"&gt; DropDownList &lt;/I&gt;control to &lt;I style="mso-bidi-font-style: normal"&gt;true&lt;/I&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image051_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image051_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image051 border=0 alt=clip_image051 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image051_thumb.jpg" width=626 height=288 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image051_thumb.jpg" v:shapes="Picture_x0020_32"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Let’s also hide the ShipperID column by setting his attribute Visible to false (later if you want you can also hide others columns by simply doing the same thing). &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image053_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image053_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image053 border=0 alt=clip_image053 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image053_thumb.jpg" width=634 height=135 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image053_thumb.jpg" v:shapes="Picture_x0020_33"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;What do we want to do next? &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;We want to be able to edit shipper information. So when I select an order I want to get all shipper information and being able to edit them. In order to display the shipper information we are going to use a &lt;I style="mso-bidi-font-style: normal"&gt;DetailsView&lt;/I&gt; control. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;First switch to design view and add a &lt;I style="mso-bidi-font-style: normal"&gt;DetailView&lt;/I&gt; control on the bottom of the page. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;When you start the &lt;I style="mso-bidi-font-style: normal"&gt;Data Source Configuration &lt;/I&gt;wizard, set &lt;I style="mso-bidi-font-style: normal"&gt;EntityDataSourceShipper2 &lt;/I&gt;as ID for the data source control being generated. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image055_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image055_2.jpg"&gt;&lt;FONT size=3 face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image055 border=0 alt=clip_image055 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image055_thumb.jpg" width=531 height=411 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image055_thumb.jpg" v:shapes="_x0000_i1037"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Press OK and follow the wizard as you did before (of course by selecting all related Shipper information and this time by only enabling inserting and updating …no deleting functionality). &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image057_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image057_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image057 border=0 alt=clip_image057 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image057_thumb.jpg" width=756 height=520 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image057_thumb.jpg" v:shapes="Picture_x0020_49"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Open the &lt;I style="mso-bidi-font-style: normal"&gt;Where &lt;/I&gt;dialog of the new generated &lt;I style="mso-bidi-font-style: normal"&gt;EntityDataSourceShipper2 &lt;/I&gt;and do the following changes: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image058_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image058_2.png"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image058 border=0 alt=clip_image058 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image058_thumb.png" width=539 height=508 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image058_thumb.png" v:shapes="Picture_x0020_47"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Press OK.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;And now we need of course to provide this parameter (ShipperID) or if you prefer a value for this parameter to the DetailView control (in fact we didn’t defined any parameter source information yet).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Where can I find this information? &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;First you have to convert the &lt;I style="mso-bidi-font-style: normal"&gt;ShipperID&lt;/I&gt; BoundField in a TemplateField. In order to do that open the field dialog of the &lt;I style="mso-bidi-font-style: normal"&gt;GridView2 &lt;/I&gt;control by clicking &lt;I style="mso-bidi-font-style: normal"&gt;Edit columns…&lt;/I&gt; within the GridView2 Task menu and Convert the &lt;I style="mso-bidi-font-style: normal"&gt;Shipper.ShipperID&lt;/I&gt; BoundField into a TemplateField. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image059_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image059_2.png"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image059 border=0 alt=clip_image059 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image059_thumb.png" width=524 height=416 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image059_thumb.png" v:shapes="Picture_x0020_36"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Switch to the source view, remove the generated square brackets and rename the generated label in &lt;I style="mso-bidi-font-style: normal"&gt;lblShipperID&lt;/I&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image061_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image061_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image061 border=0 alt=clip_image061 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image061_thumb.jpg" width=756 height=182 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image061_thumb.jpg" v:shapes="Picture_x0020_45"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Remove the part highlighted in yellow: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image063_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image063_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image063 border=0 alt=clip_image063 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image063_thumb.jpg" width=759 height=170 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image063_thumb.jpg" v:shapes="Picture_x0020_46"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Generate the &lt;I style="mso-bidi-font-style: normal"&gt;SelectedIndexChanged &lt;/I&gt;event handler on the second grid (orders grid) and add the following code. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image065_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image065_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image065 border=0 alt=clip_image065 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image065_thumb.jpg" width=755 height=145 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image065_thumb.jpg" v:shapes="Picture_x0020_39"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;By doing this every time another order is being selected the ShipperID value can be retrieved from the &lt;I style="mso-bidi-font-style: normal"&gt;lblShipperID&lt;/I&gt; label control and used to set the where parameter of the &lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;EntityDataSourceShipper2 &lt;/I&gt;control (used to automatically generate a where condition, which at the end retrieves the shipper of the selected order). &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;We also have to generate the following event handler, which makes a refresh on the second grid, whenever a change is done to the Shipper information (DetailsView control). &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 9pt; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT size=3 face=Calibri&gt;protected&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT size=3 face=Calibri&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; DetailsView1_ItemUpdated(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: #2b91af"&gt;DetailsViewUpdatedEventArgs&lt;/SPAN&gt; e) &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT size=3 face=Calibri&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT size=3 face=Calibri&gt;GridView2.DataBind(); &lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT size=3 face=Calibri&gt;} &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; BACKGROUND: fuchsia; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes; mso-highlight: fuchsia" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;There is still another small problem. When I change selection on the first grid, of course the second grid with the orders is being reloaded. The problem is that in this specific case the DetailsView control will still show the old shipper information (because the WhereParameter[“lblShipperID”] still contains the old id). &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;To fix&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;this we can implement the &lt;I style="mso-bidi-font-style: normal"&gt;DataBound&lt;/I&gt; event handler of the second grid (GridView2 control). First we have to generated the GridView2_DataBound event handler: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image067_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image067_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image067 border=0 alt=clip_image067 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image067_thumb.jpg" width=757 height=305 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image067_thumb.jpg" v:shapes="Picture_x0020_40"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Now we have to refactor the content of the GridView2_SelectedIndexChanged event handler by selecting the method’s code, right-clicking on it and selecting &lt;/FONT&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT face=Calibri&gt;Refactor|Extract Method … &lt;/FONT&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image069_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image069_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image069 border=0 alt=clip_image069 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image069_thumb.jpg" width=758 height=290 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image069_thumb.jpg" v:shapes="Picture_x0020_41"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Change the method name as follow and press OK. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image070_2.png" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image070_2.png"&gt;&lt;FONT size=3 face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image070 border=0 alt=clip_image070 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image070_thumb.png" width=676 height=295 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image070_thumb.png" v:shapes="Picture_x0020_1"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Add the following code to the GridView2_DataBound event handler: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image072_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image072_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image072 border=0 alt=clip_image072 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image072_thumb.jpg" width=676 height=138 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image072_thumb.jpg" v:shapes="Picture_x0020_42"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;We should now have the following code: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: blue; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="COLOR: blue; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image074_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image074_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image074 border=0 alt=clip_image074 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image074_thumb.jpg" width=680 height=454 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image074_thumb.jpg" v:shapes="Picture_x0020_43"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;One last detail…. you should know that &lt;B style="mso-bidi-font-weight: normal"&gt;Bind &lt;/B&gt;(in write mode) only understands properties that are on your root entity. In fact if you try to delete an order, instead of getting a “Reference Constraint” error (because the order is related to other entities), you get something like &lt;/FONT&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT face=Calibri&gt;“System.NullReferenceException: Object reference not set to an instance of an object.”…a strange error message…. &lt;/FONT&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;If you want to get what you expect, you have to change &lt;I style="mso-bidi-font-style: normal"&gt;Bind&lt;/I&gt; with &lt;I style="mso-bidi-font-style: normal"&gt;Eval; &lt;/I&gt;but you then also have to know that &lt;I style="mso-bidi-font-style: normal"&gt;Eval &lt;/I&gt;can be used for read-only databinding… &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;FONT face=Calibri&gt;In our case we can replace Bind with Eval for the CompanyName field (which is not defined on the root entity).&lt;/FONT&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt; &lt;/FONT&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us; mso-no-proof: yes" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; COLOR: blue; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: it-ch; mso-fareast-language: it-ch; mso-no-proof: yes"&gt;&lt;A href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image076_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image076_2.jpg"&gt;&lt;FONT face=Calibri&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image076 border=0 alt=clip_image076 src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image076_thumb.jpg" width=675 height=141 mce_src="http://blogs.msdn.com/blogfiles/swiss_dpe_team/WindowsLiveWriter/540605510f5a_ECF1/clip_image076_thumb.jpg" v:shapes="Picture_x0020_50"&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;The final solution is available in the enclosed zip file. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Hope it helps, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin; mso-ansi-language: en-us" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Ken Casada &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918044" width="1" height="1"&gt;</description><pubDate>Thu, 05 Nov 2009 15:56:00 Z</pubDate><enclosure url="http://blogs.msdn.com/swiss_dpe_team/attachment/9918044.ashx" type="application/x-zip-compressed" length="66114" /><a10:rights type="text">Swiss DPE Team [MS]</a10:rights><a10:contributor><a10:name>Swiss DPE Team [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Swiss DPE Team [MS]</dc:creator></item><item><guid isPermaLink="false">http://www.codefest.at/post.aspx?id=56802b83-b6a3-42d8-8c24-88e54e3eb024</guid><link>http://feedproxy.google.com/~r/MsdnAustria/~3/q_G1DVjihR4/post.aspx</link><a10:author><a10:name>msdn Austria [MS]</a10:name></a10:author><title>Windows Azure Benefits für MSDN Subscriber</title><description>&lt;p&gt;Besitzer einer MSDN Subscription können ab 4. Jänner 2010 unsere Cloud Computing Plattform Windows Azure für ein gewisses Transaktionsvolumen kostenfrei nutzen!&lt;/p&gt;  &lt;p&gt;Pro MSDN Subscription gibt es ein 8 monatiges Startangebot, danach für die gesamte Dauer der Subscription ein Paket mit kostenlosen Volumeni für Computing, Storage, Data Transfer, .NET Services und SQL Azure.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/subscriptions/ee461076.aspx" target="_blank"&gt;Link zur Übersicht&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/azure/default.aspx" target="_blank"&gt;Windows Azure Development Center&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.knor.net/blog/"&gt;&lt;img border="0" alt="Max_Foto3" src="http://blogs.msdn.com/blogfiles/msdnat/WindowsLiveWriter/MSDNdemocastRESTStyleServicesmitWCF3.5_D701/Max_Foto3_3.jpg" width="100" height="66" /&gt;&lt;/a&gt;&lt;strong&gt; &lt;a href="http://www.knor.net/blog/"&gt;&lt;em&gt;knom&lt;/em&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description><pubDate>Thu, 05 Nov 2009 10:34:31 +0100</pubDate><a10:rights type="text">msdn Austria [MS]</a10:rights><a10:contributor><a10:name>msdn Austria [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">msdn Austria [MS]</dc:creator></item><item><guid isPermaLink="false">http://www.giza-blog.de/PermaLink,guid,0172589c-d069-4c6e-953a-a15b1f6e4508.aspx</guid><link>http://www.giza-blog.de/MicrosoftHotlineHilfeSupportProblemLoesungKontaktTelefon.aspx</link><a10:author><a10:name>Kay Giza [MS]</a10:name></a10:author><title>Microsoft Hotline - Hilfe, Support, Problem-Loesung, Kontakt, Telefon</title><description>&lt;p&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;Häufig
werde ich gefragt, wie man am besten bzw. schnellsten Kontakt zu Microsoft aufnimmt.
Sei es per E-Mail, Telefon, Fax oder auch per Postbrief. &lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;Es
gibt viele verschiedene Wege, insbesondere wenn man z.B. Microsoft Partner ist, stehen
einem weitere Wege offen oder wenn man z.B. Produkte erworben hat (wie z.B. eine MSDN
Subscription).&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;Daher
möchte ich hier nicht eine vollständige Liste veröffentlichen, sondern die wichtigsten
Startpunkte.&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;&lt;strong&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fDefault.aspx"&gt;Hilfe
&amp;amp; Support Portal von Microsoft&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;Im
Hilfe und Support-Portal von Microsoft finden Sie umfassende Informationen zu allen
verfügbaren Produkten, bekommen Hinweise auf aktuellste Downloads und Update, erfahren
wichtige Neuigkeiten und Infos.&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;Auf
dieser Seite werden Sie entsprechend angeleitet, den richtigen Problemlösungsservice
zu finden.&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;&lt;strong&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fgp%2fassistsupport%2fde" target=_blank&gt;Technische
Anfragen&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;Wenn
Sie technische Unterstützung für Microsoft Produkte jeglicher Art benötigen, sei es
durch ein aufgetretenes Problem, Sie haben einen sogenannten Bug entdeckt, benötigen
technische Anleitung etc., dann sind Sie auf dieser Seite richtig. Wählen Sie auf
der Liste das betroffene Produkt aus. Hier finden Sie alle unterstützten Produkte,
wie Windows, Office, Visual Studio und viele mehr.&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;&lt;strong&gt;&lt;a title="Microsoft Support Hotline (Microsoft Hotline, Microsoft Telefon-Hotline)" href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Kontakt
zu Microsoft via Telefon Hotline, E-Mail, Fax oder Brief&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;Sollten
Sie über die oben genannten Informationen nicht die richtige Kontaktstelle gefunden
haben, so empfiehlt sich der direkte Kontakt zu Microsoft.&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;Auf
dieser Seite finden Sie neben einer Telefonnummer, der Postanschrift etc., auch Hinweise,
wie Sie online die richige technische Anfrage geben oder Sie finden die Möglichkeit,
direkt einfach nur ein allgemeines Feedback Microsoft mitzuteilen.&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;&lt;strong&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fwww.msdn-support.de%2f" target=_blank&gt;Für
Entwickler, Softwareentwickler jeglicher Art, Software-Architekten oder ISVs (Softwarehersteller)
sowie MSDN Online-Kunden oder MSDN Subscription Kunden&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;br style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif; FONT-SIZE: 10pt"&gt;
&lt;span style="FONT-FAMILY: Verdana, Geneva, Tahoma, Sans-Serif"&gt;&lt;font size=2&gt;Auf &lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fwww.msdn-support.de%2f"&gt;&lt;font size=2&gt;http://www.msdn-support.de&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt; finden
Sie alle Hilfe &amp;amp; Support-Angebote für alle Teilnehmer des &lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fde-de%2f" target=_blank&gt;Microsoft
Developer Network &lt;/a&gt;(MSDN) komprimiert und zusammengefasst. Weiterhin empfehle ich
dazu meinen Blogeintrag '&lt;/font&gt;&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fwww.giza-blog.de%2fHilfeUndSupportFuerEntwickler.aspx" target=_blank&gt;&lt;font size=2&gt;Hilfe
&amp;amp; Support&lt;/font&gt;&lt;/a&gt;&lt;font size=2&gt;' zu lesen.&lt;br&gt;
&lt;br&gt;
Wie oben erwähnt, dies ist keine vollständige Auflistung, es soll helfen die ersten
und wichtigsten Anlaufpunkte zu finden.&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;Tipp:&lt;/strong&gt; Sollten Sie sich unsicher sein, welcher Support Ihnen zusteht,
welchen Support Sie ggf. kontaktieren sollten, so empfehle ich Ihnen sich &lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0"&gt;direkt
per Telefon&lt;/a&gt; an Microsoft zu wenden und sich entsprechend beraten zu lassen. &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;strong&gt;Weiterführende Links als Stichwörter gelistet:&lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline Deutschland&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline Aktivierung&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Produktaktivierung Hotline&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline Nummer&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline Xbox 360&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline Lizenz&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotlines&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline 0800&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline Germany&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline Office&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline XP&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline Vista&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hotline Windows 7&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Telefonnummer&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Telefon Support&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
telefonische Aktivierung&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Telefon Hotline&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
telefonischer Support&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hilfe Telefon&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fcontactus%2fcu_sc_more_master%3fws%3dsupport%23tab0" target=_blank&gt;Microsoft
Hilfe Hotline&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fwww.msdn-foren.de%2f" target=_blank&gt;Microsoft
Hilfe Forum&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fgp%2fassistsupport%2fde" target=_blank&gt;Microsoft
Hilfe Support&lt;/a&gt;
&lt;/li&gt;
&lt;li style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&lt;a href="http://www.giza-blog.de/ct.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fDefault.aspx" target=_blank&gt;Microsoft
Hilfe&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p style="FONT-FAMILY: Verdana, Geneva, Tahoma, sans-serif; FONT-SIZE: 10pt"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.giza-blog.de/aggbug.ashx?id=0172589c-d069-4c6e-953a-a15b1f6e4508" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p&gt;
&lt;font face="Verdana" style="font-size: 8pt"&gt;This post is powered by &lt;a href="http://www.giza-blog.de" target="_blank" xmlns="http://www.w3.org/1999/xhtml"&gt;www.Giza-Blog.de&lt;/a&gt; | &lt;/font&gt; &lt;a target="_blank" title="Giza-Blog.de: RSS 2.0 Feed" href="http://www.giza-blog.de/SyndicationService.asmx/GetRss"&gt; &lt;span style="font-size: 8pt; font-family: Verdana;"&gt; &lt;img class="rssLinkImageStyle" title="RSS 2.0" style="border-width: 0px; vertical-align: middle;" alt="Giza-Blog.de: RSS Feed" src="http://www.giza-blog.de/images/feed-icon-16x16.gif" width="16" height="16" align="absmiddle" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;font face="Verdana" style="font-size: 8pt"&gt;
&lt;br xmlns="http://www.w3.org/1999/xhtml" /&gt;
&lt;b&gt;Visit:&amp;nbsp;&lt;/b&gt;&amp;nbsp;&lt;a href="http://msdn.microsoft.com/de-de/" target="_blank" title="Microsoft Developer Network Germany Online"&gt;MSDN
Online&lt;/a&gt; | &lt;a href="http://twitter.com/MSDN_News" target="_blank"&gt;Follow MSDN Online
on Twitter&lt;/a&gt; | &lt;a href="http://twitter.com/Meverick" target="_blank"&gt;Follow Kay
Giza on Twitter&lt;/a&gt;
&lt;br&gt;
&lt;b&gt;Daily News on MSDN:&amp;nbsp;&lt;/b&gt; &amp;nbsp;&lt;a href="http://www.microsoft.com/germany/msdn/aktuell/" target="_blank"&gt;MSDN
Aktuell&lt;/a&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;span style="font-family: Verdana; font-size: 8pt"&gt;© &lt;/span&gt; &lt;font face="Verdana" style="font-size: 8pt"&gt;Copyright
2006-2009 Kay Giza. All rights reserved. &lt;a href="http://www.giza-blog.de/impressum.aspx" target="_blank"&gt;Legal&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;</description><pubDate>Thu, 05 Nov 2009 10:04:20 Z</pubDate><a10:rights type="text">Kay Giza [MS]</a10:rights><a10:contributor><a10:name>Kay Giza [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kay Giza [MS]</dc:creator></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8163282460106371512.post-4103811756763868638</guid><link>http://devtechblog.blogspot.com/2009/11/powershell-batch-umbennennen-von.html</link><a10:author><a10:name>Martin Hey</a10:name></a10:author><title>PowerShell: Batch-Umbennennen von Dateien</title><description>Vom Übersetzer bekam ich für ein Projekt Sprachressourcen für die Benutzeroberfläche geliefert - allerdings hatte dieser nicht nur den Inhalt geändert, sondern auch in jedem Dateinamen vor der Erweiterung das Sprachkürzel eingefügt. Um wieder die originalen Dateinamen zu erhalten - also z.B. aus Form1it.xml wieder Form1.xml - hätte ich also jeden dieser Dateinamen editieren müssen. Und genau für solche einfachen Jobs eignet sich PowerShell recht gut.&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid black; overflow: auto; width: 99%; background-color: rgb(230, 232, 250); font-family: courier;"&gt;&lt;pre&gt;get-childitem -Path *.* | rename-item -newName {$_.name -replace "it.xml", ".xml"}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Mit einer geschickten Kombination aus get-childitem und rename-item per &lt;a target="_blank" href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/manual/pipe.mspx"&gt;Pipe&lt;/a&gt; konnte das Problem schnell gelöst werden.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8163282460106371512-4103811756763868638?l=devtechblog.blogspot.com'/&gt;&lt;/div&gt;</description><pubDate>Thu, 05 Nov 2009 09:54:00 +0100</pubDate><a10:link rel="replies" type="application/atom+xml" title="Kommentare zum Post" href="http://devtechblog.blogspot.com/feeds/4103811756763868638/comments/default" /><a10:link rel="replies" type="text/html" title="0 Kommentare" href="https://www.blogger.com/comment.g?blogID=8163282460106371512&amp;postID=4103811756763868638" /><a10:link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8163282460106371512/posts/default/4103811756763868638" /><a10:link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8163282460106371512/posts/default/4103811756763868638" /><a10:updated>2009-11-05T09:56:05+01:00</a10:updated><a10:rights type="text">Martin Hey</a10:rights><a10:contributor><a10:name>Martin Hey</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Martin Hey</dc:creator></item><item><guid isPermaLink="false">http://blog.lars-keller.net/post/2009/11/05/Back-from-NET-Information-Day-in-Darmstadt.aspx</guid><a10:author><a10:name>Lars Keller</a10:name></a10:author><title>Back from .NET Information Day in Darmstadt</title><description>&lt;p&gt;Ich bin gerade auf dem R&amp;uuml;ckweg vom &lt;a href="http://dotnet-informationday.de/"&gt;.NET Information Day&lt;/a&gt; in Darmstadt. Es war eine gelungene Veranstaltung und es hat sehr viel Spa&amp;szlig; gemacht. Wie versprochen gibt es hier meine Slides und mein Codebeispiel:&lt;/p&gt;
&lt;p&gt;
&lt;div id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:85169308-c183-4f5e-a8a0-cd9a092bcdb9" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px"&gt;
&lt;p&gt;Slides: &lt;a href="http://blog.lars-keller.net/file.axd?file=NETInformationDay_Office.pdf" target="_blank"&gt;download&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;div id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:7f7d4247-a4fc-47d3-9b88-718915dc5c9d" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px"&gt;
&lt;p&gt;Code: ExcelImportEmails &lt;a href="http://blog.lars-keller.net/file.axd?file=ExcelImportEmails.zip" target="_blank"&gt;download&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Es hat mich auch sehr gefreut, dass viele Studenten vor Ort waren und sich auch f&amp;uuml;r die VSTO interessiert haben. Vielen Dank an die Organisatoren: &lt;a href="http://kostjaklein.wordpress.com/"&gt;Kostja&lt;/a&gt;, Teddy, Grisha und die vielen Helfer!&lt;/p&gt;
&lt;p&gt;Beim n&amp;auml;chsten .NET Information Day bin ich gerne wieder dabei!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/LarsKellerinspiredBynet?a=yRZ5hbIKJU4:NUZGA3Pdqqc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/LarsKellerinspiredBynet?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/LarsKellerinspiredBynet?a=yRZ5hbIKJU4:NUZGA3Pdqqc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/LarsKellerinspiredBynet?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/LarsKellerinspiredBynet?a=yRZ5hbIKJU4:NUZGA3Pdqqc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/LarsKellerinspiredBynet?i=yRZ5hbIKJU4:NUZGA3Pdqqc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/LarsKellerinspiredBynet?a=yRZ5hbIKJU4:NUZGA3Pdqqc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/LarsKellerinspiredBynet?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/LarsKellerinspiredBynet?a=yRZ5hbIKJU4:NUZGA3Pdqqc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/LarsKellerinspiredBynet?i=yRZ5hbIKJU4:NUZGA3Pdqqc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/LarsKellerinspiredBynet/~4/yRZ5hbIKJU4" height="1" width="1"/&gt;</description><pubDate>Thu, 05 Nov 2009 08:12:00 Z</pubDate><a10:link rel="self" href="http://blog.lars-keller.net/post.aspx?id=36e9b3b1-e2bb-4b10-89dd-94d6981d2316" /><a10:link href="http://feedproxy.google.com/~r/LarsKellerinspiredBynet/~3/yRZ5hbIKJU4/Back-from-NET-Information-Day-in-Darmstadt.aspx" /><a10:link rel="related" href="http://blog.lars-keller.net/post/2009/11/05/Back-from-NET-Information-Day-in-Darmstadt.aspx#comment" /><a10:updated>2009-11-05T08:12:00Z</a10:updated><a10:rights type="text">Lars Keller</a10:rights><a10:contributor><a10:name>Lars Keller</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lars Keller</dc:creator></item><item><guid isPermaLink="false">http://blog.aztec-project.org/?p=801</guid><link>http://blog.aztec-project.org/2009/11/05/design-by-contract-teil-2/</link><a10:author><a10:name>Stefan Kölle</a10:name></a10:author><title>Design by Contract – jetzt auch mit C# – Teil 2</title><description>Der vorherige DbC-Artikel ist ziemlich &amp;#8220;abstrakt&amp;#8221; ausgefallen, es haben einfach Beispiele gefehlt. Das möchte ich hiermit nachholen.
Erstens muss man die IDE anpassen: im März kommt .NET 4.0 raus und da wird Design by Contract  mitgeliefert. Man kann das Konzept aber jetzt schon anwenden, wenn man die Assembly zusätzlich installiert. Danach muss man die dll [...]</description><pubDate>Thu, 05 Nov 2009 07:51:51 Z</pubDate><a10:rights type="text">Stefan Kölle</a10:rights><a10:content type="html">&lt;p&gt;Der vorherige DbC-Artikel ist ziemlich &amp;#8220;abstrakt&amp;#8221; ausgefallen, es haben einfach Beispiele gefehlt. Das möchte ich hiermit nachholen.&lt;/p&gt;
&lt;p&gt;Erstens muss man die IDE anpassen: im März kommt .NET 4.0 raus und da wird Design by Contract  mitgeliefert. Man kann das Konzept aber jetzt schon anwenden, wenn man die &lt;a href="http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx" target="_blank"&gt;Assembly&lt;/a&gt; zusätzlich installiert. Danach muss man die dll referenzieren und im Eigenschaftenfenster des Projektes im neuen Tab &lt;i&gt;Code Contracts&lt;/i&gt; das Runtime Checking einstellen.&lt;/p&gt;
&lt;p&gt;Jetzt zum Code: Nehmen wir eine ganz einfache Klasse &lt;code&gt;Bill&lt;/code&gt; deren Objekte mit einem &lt;code&gt;IRepository&lt;/code&gt; gespeichert bzw. geladen werden.&lt;/p&gt;
&lt;div style="font-family: Courier New; font-size: 9pt; color: black; background: white;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;using&lt;/span&gt; System.Diagnostics.Contracts;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;namespace&lt;/span&gt; ContractsPrototyp&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;{&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; Id { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; Number { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;double&lt;/span&gt; Value { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;interface&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;IRepository&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt; GetBill(&lt;span style="color: blue;"&gt;string&lt;/span&gt; number);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;void&lt;/span&gt; SaveBill(&lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt; bill);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Die Kontrakte kann man in den einzelnen Methoden oder für eine ganze Klasse schreiben (unter dem Attribut &lt;code&gt;ContractInvariantMethode&lt;/code&gt;) aber ich finde am schönsten, dass man die auch auslagern kann: durch eine gegenseitige Markierung können Kontrakt-Klassen und Interfaces als &amp;#8220;Paare&amp;#8221; definiert werden:&lt;/p&gt;
&lt;div style="font-family: Courier New; font-size: 9pt; color: black; background: white;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;ContractClass&lt;/span&gt;(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;RepositoryContracts&lt;/span&gt;))]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;interface&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;IRepository&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt; GetBill(&lt;span style="color: blue;"&gt;string&lt;/span&gt; number);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;void&lt;/span&gt; SaveBill(&lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt; bill);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;ContractClassFor&lt;/span&gt;(&lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af;"&gt;IRepository&lt;/span&gt;))]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;RepositoryContracts&lt;/span&gt;:&lt;span style="color: #2b91af;"&gt;IRepository&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt; GetBill(&lt;span style="color: blue;"&gt;string&lt;/span&gt; number)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Contract&lt;/span&gt;.Requires(!&lt;span style="color: blue;"&gt;string&lt;/span&gt;.IsNullOrEmpty(number));&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; SaveBill(&lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt; bill)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Contract&lt;/span&gt;.Ensures(bill.Id &amp;gt; 0);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Eine Vorbedingung wird mit &lt;code&gt;Contract.Requires&lt;/code&gt; und eine Nachbedingung mit &lt;code&gt;Contract.Ensures&lt;/code&gt; definiert. Beide Methoden bekommen boolische Ausdrücke. Diese Ausdrücke müssen frei von Seiteneffekten sein. &lt;/p&gt;
&lt;p&gt;Die eigentliche Implementierung der Klasse schaut dann so aus:&lt;/p&gt;
&lt;div style="font-family: Courier New; font-size: 9pt; color: black; background: white;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;31&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Repository&lt;/span&gt;:&lt;span style="color: #2b91af;"&gt;IRepository&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;32&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;33&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt; GetBill(&lt;span style="color: blue;"&gt;string&lt;/span&gt; nummer)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;34&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;35&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//W&amp;#252;rde das Objekt aus Datenhaltung laden&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;36&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;37&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;38&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;39&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; SaveBill(&lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt; bill)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;40&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;41&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//W&amp;#252;rde das Objekt speichern und ihm eine Id zuweisen&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;42&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (BillIsValid( bill )) bill.Id++;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;43&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;44&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;45&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; BillIsValid(&lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt; bill)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;46&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;47&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; !&lt;span style="color: blue;"&gt;string&lt;/span&gt;.IsNullOrEmpty(bill.Nummer);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;48&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;49&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Woher können wir wissen, dass das funktioniert? Es ist einfach, wir schreiben ein Paar Tests dazu!&lt;br /&gt;
Bei Kontraktverletzung wird eine Exception geworfen. Um diese &amp;#8211; und dadurch die genaue Verletzung &amp;#8211; überprüfen zu können braucht man etwas Workaround:&lt;/p&gt;
&lt;div style="font-family: Courier New; font-size: 9pt; color: black; background: white;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;55&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;TestFixture&lt;/span&gt;]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;56&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;BillTests&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;57&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;58&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;IRepository&lt;/span&gt; m_repository;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;59&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; m_message;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;60&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;61&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;SetUp&lt;/span&gt;]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;62&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Setup()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;63&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;64&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_repository = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Repository&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;65&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_message = &lt;span style="color: blue;"&gt;string&lt;/span&gt;.Empty;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;66&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Contract&lt;/span&gt;.ContractFailed += ( sender, e ) =&amp;gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;67&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;68&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; e.SetUnwind();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;69&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_message = e.Message;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;70&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;71&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Danach sind die Tests dann einfach:&lt;/p&gt;
&lt;div style="font-family: Courier New; font-size: 9pt; color: black; background: white;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;73&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;Test&lt;/span&gt;]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;74&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Laden_mit_leerer_Nummer_verletzt_Kontrakt()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;75&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;76&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;77&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;78&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;79&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_repository.GetBill( &lt;span style="color: blue;"&gt;null&lt;/span&gt; );&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;80&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;81&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;catch&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;82&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;83&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//Nichts &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;84&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;85&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;86&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Assert&lt;/span&gt;.That( m_message, &lt;span style="color: #2b91af;"&gt;Is&lt;/span&gt;.EqualTo( &lt;span style="color: #a31515;"&gt;&amp;quot;Precondition failed: !string.IsNullOrEmpty(number)&amp;quot;&lt;/span&gt; ) );&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;87&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;88&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;89&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af;"&gt;Test&lt;/span&gt;]&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;90&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Speichern_Rechnung_ohne_Nummer_verletzt_Kontrakt()&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;91&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;92&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;93&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;94&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;95&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_repository.SaveBill( &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Bill&lt;/span&gt;{Value = 25} );&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;96&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;97&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;catch&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;98&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;99&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//Nichts &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;100&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;101&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;102&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2b91af;"&gt;Assert&lt;/span&gt;.That( m_message, &lt;span style="color: #2b91af;"&gt;Is&lt;/span&gt;.EqualTo( &lt;span style="color: #a31515;"&gt;&amp;quot;Postcondition failed: bill.Id &amp;gt; 0&amp;quot;&lt;/span&gt; ) );&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #2b91af;"&gt;&amp;nbsp;&amp;nbsp;103&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Ich hoffe, das Beispiel ist ausführlich genug, um die Vorteile von DbC zu highlighten. &lt;a href="http://www.lieser-online.de/blog/" target="_blank"&gt;Stefan&lt;/a&gt;, vielen dank noch mal für den Artikel, ich habe mich natürlich von dir inspirieren lassen.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dotnet-kicks.de/kick/?url=http%3a%2f%2fblog.aztec-project.org%2f2009%2f11%2f05%2fdesign-by-contract-teil-2%2f" target="_blank"&gt;&lt;img src="http://dotnet-kicks.de/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.aztec-project.org%2f2009%2f11%2f05%2fdesign-by-contract-teil-2%2f" alt="kick it on dotnet-kicks.de" border="0"&gt;&lt;/a&gt;&lt;/p&gt;
</a10:content><a10:contributor><a10:name>Stefan Kölle</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stefan Kölle</dc:creator></item><item><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9917801</guid><link>http://blogs.msdn.com/swiss_dpe_team/archive/2009/11/05/entity-framework-feature-ctp-preview-2-released-built-on-top-of-ef-4-beta-2.aspx</link><a10:author><a10:name>Swiss DPE Team [MS]</a10:name></a10:author><title>Entity Framework Feature CTP Preview 2 released (built on top of EF 4 Beta 2)</title><description>&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT face=Calibri&gt;Just a quick note to let everyone know that an updated version of the EF Feature CTP is now available for Visual Studio 2010 Beta 2. As you can read on the &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/adonet/archive/2009/11/04/ado-net-entity-framework-community-technology-preview-released.aspx"&gt;&lt;FONT face=Calibri&gt;ADO.NET team blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; this release includes some great new enhancements for Code Only and Self-Tracking Entities (support for Silverlight 3, databinding support, …).&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;FONT face=Calibri&gt;This new version is from now available &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=13fdfce4-7f92-438f-8058-b5b4041d0f01"&gt;&lt;FONT face=Calibri&gt;here&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9917801" width="1" height="1"&gt;</description><pubDate>Thu, 05 Nov 2009 07:44:00 Z</pubDate><a10:rights type="text">Swiss DPE Team [MS]</a10:rights><a10:contributor><a10:name>Swiss DPE Team [MS]</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Swiss DPE Team [MS]</dc:creator></item><item><guid isPermaLink="false">http://webenliven-space.de/dotnetblog/post.aspx?id=8169d153-1778-4b23-8727-38e5e7fd6410</guid><link>http://webenliven-space.de/dotnetblog/post/2009/11/05/Making-of-Community-Projects-e28093-Interview-mit-Norbert-Eder.aspx</link><a10:author><a10:name>Gregor Biswanger</a10:name></a10:author><title>Making of Community-Projects – Interview mit Norbert Eder</title><description>&lt;p&gt;Inspiriert von Golo Roden´s &lt;a href="http://www.des-eisbaeren-blog.de/post/2009/10/15/NET-Professionals-im-Profil-Peter-Bucher.aspx" target="_blank"&gt;“.NET Professionals im Profil”&lt;/a&gt; werden mit Making of Community-Projects die Macher von bekannten Community-Sites interviewt und mal von der persönlichen Seite durchleuchtet. Das Making of Community-Projects unterscheidet sich von .NET Professionals grundlegend, das es um die Projekte von Personen aus der Community geht und nicht um Professionale Softwareentwickler. Dabei wird gerade auf den täglichen Kampf der Community-People eingegangen und woher die Motivation für Neues gefunden wird.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://webenliven-space.de/dotnetblog/image.axd?picture=WindowsLiveWriter/MakingofCommunityProjectsInterviewmitNor/55941143/foto_norbert.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="foto_norbert" border="0" alt="foto_norbert" src="http://webenliven-space.de/dotnetblog/image.axd?picture=WindowsLiveWriter/MakingofCommunityProjectsInterviewmitNor/4E74D4CB/foto_norbert_thumb.jpg" width="94" height="123" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Norbert Eder&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Beim spontanen Überlegen wer die meisten Community-Projekte in der .NET-Szene hat, fällt mir sofort Norbert Eder ein. Norbert Eder ist 32 Jahre alt und kommt aus &lt;a href="http://www.graz.at" target="_blank"&gt;Graz&lt;/a&gt; (Österreich). Ich konnte Norbert Eder für ein Interview gewinnen und bin schon gespannt was so alles&amp;#160; hinter den Projektfassaden steckt.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Hallo Norbert, erst mal vielen Dank das du dir die Zeit für ein Interview genommen hast. Ich muss gestehen, dass du mir das erste Mal auf Tutorials.de aufgefallen bist. Viele Fragen, die mich beschäftigt haben, führte Google direkt zu deinen Posts. Wie kam es damals zu deinem ersten Projekt? Was hat dich motiviert?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder:&lt;/b&gt; Ja, tutorials.de. Eine wunderbare Community, für die ich heute leider viel zu wenig Zeit habe. Hauptgrund hierfür sind wohl die persönlichen Präferenzen, die sich in den letzten Jahren doch stark verändert haben. Natürlich wollte ich auch weiterhin der Community behilflich sein, immerhin hatte auch ich viel Unterstützung erhalten. Die eigenen Communities (wobei eigentlich nur eines meiner aktuellen Projekte diesen „Titel“ verdient) haben sich nebenbei entwickelt. Das hat 2003 mit einem eigenen &lt;a href="http://blog.norberteder.com" target="_blank"&gt;Blog&lt;/a&gt; angefangen und hat sich dann weiter entwickelt. Irgendwann gab es dann schon mal ein Forum, das sich hauptsächlich mit der Entwicklung für mobile Endgeräte beschäftigt, war aber wohl zu früh dafür. Einige Jahre später hatte ich dann Kai Gloth kennengelernt und daraus sind dann Projekte wie die .NET Casts oder das &lt;a href="http://dotnet-blogbook.com" target="_blank"&gt;.NET BlogBook&lt;/a&gt; entstanden. Voriges Jahr dann eben &lt;a href="http://dotnet-gui.com" target="_blank"&gt;.NET GUI&lt;/a&gt;, eine Plattform, auf der sich .NET Entwickler über User-Interface-Entwicklung auf Basis .NET austauschen können. &lt;/p&gt;  &lt;p&gt;Die Motivation, die genannten Seiten (als auch noch weitere) zu betreiben ist damit zu begründen, dass ich insgesamt die .NET Community unterstützen und stärken möchte, verbunden mit einem gewissen Grad an Eigennutzen. So lernt man doch sehr viele unterschiedliche Menschen kennen, knüpft Kontakte. Das ist insgesamt schon sehr hilfreich.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Welches deiner ganzen Projekte ist dein persönlicher Favorit? Und warum?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder:&lt;/b&gt; Ich habe keinen persönlichen Favoriten. In den letzten Jahren fokussiere ich mich auf die Windows Presentation Foundation und auf Silverlight, da ich diesen Technologien eine große Zukunft voraus sage. Daher ist es naheliegend, auch in diese Richtung tätig zu sein bzw. diesen Bereich zu fördern (siehe &lt;a href="http://wpf-blogger.com" target="_blank"&gt;WPF-Blogger&lt;/a&gt;, oder aber auch &lt;a href="http://dotnet-gui.com" target="_blank"&gt;.NET GUI&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Warum ausgerechnet WPF und Silverlight? Hierbei müssten Unternehmen doch so vieles erneut lernen?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder: &lt;/b&gt;WPF als auch Silverlight erfordern natürlich (wie alle neuen Technologien) ein Maß an Lernaufwand, das ist schon richtig. Auf der anderen Seite steht natürlich die Möglichkeit, eine vollkommen neue „Experience“ für eigene Anwendungen/Produkte zu schaffen, weg von den gewohnten grauen Oberflächen, hin zu einer höheren Benutzerfreundlichkeit. Angereichert durch die neuen Möglichkeiten, lassen sich ohne viel Aufwand Animationen und Effekte einbinden, die bis dato nur unter (sehr) hohem Implementierungsaufwand möglich gewesen wären.&lt;/p&gt;  &lt;p&gt;Ich konnte in den letzten Monaten einige WPF-Projekte betreuen (sowohl kleinere Anwendungen, als auch im Bereich von ~900 Clients) und überall hat sich gezeigt, dass die Einstiegshürden groß sind. Es muss jede Menge Überzeugungsarbeit geleistet werden, um ein Unternehmen tatsächlich auf diesen Zug zu bringen. Schlussendlich gab es aber in allen Fällen eine große Überraschung – im positiven Sinne. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Wie weit würdest du die Reife von WPF und Silverlight jetzt sehen?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder: &lt;/b&gt;Schwer zu sagen wie es in 10 Jahren aussehen wird. Fakt ist, dass WPF und Silverlight quasi am Anfang stehen und es noch jede Menge zu tun gibt. Mit zunehmender Akzeptanz werden weitere Wünsche und somit auch Möglichkeiten dargelegt. Es wird also wohl noch eine ganze Weile dauern, bis es zu einer gänzlich neuen Technologie kommt.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Nun ein kleiner Blick in dein Privatleben.. Mich würde dein Familienstand interessieren?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder:&lt;/b&gt; Glücklich verheiratet.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Wie kommt deine Frau mit deinem Erfolg in der Community klar? Ist Sie stolz auf dich oder habt ihr Stress?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder:&lt;/b&gt; „Erfolg in der Community“ ist ein Terminus, der mir nicht 100%ig zusagt. Wie ist dieser definiert und wer bestimmt darüber? Sind PageViews aussagekräftig was die Qualität betrifft? Ich selbst kann und will nicht behaupten, in der Community Erfolg zu haben, das müssen andere tun. Mir macht es Spaß (manchmal auch weniger) und wie ich schon anklingen ließ, so ganz uneigennützig ist es dann ja auch nicht.&lt;/p&gt;  &lt;p&gt;Wir sind natürlich stolz auf das, was der andere leistet und unterstützen uns gegenseitig. Würde es keine Unterstützung geben, wäre Vieles nicht möglich.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Was würdest du jemand empfehlen der eine Idee für ein Community-Projekt hat?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder:&lt;/b&gt; Tun, nicht reden!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Was war für dich aus der Community heraus das angenehmste Erlebnis? Und warum war es so besonders für dich?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder:&lt;/b&gt; Es hat in den letzten Jahren viele angenehme Erlebnisse gegeben, da möchte ich mich auf keines besonders festlegen. Für mich ist es immer ein Erlebnis, neue, interessante Menschen kennen zu lernen, interessante Diskussionen zu führen und daraus schlussendlich auch selbst zu lernen. Einige Male entstanden auch wirklich gute Freundschaften – das ist mit nichts aufzuwiegen.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Und was war eher das Unerträglichste aus der Community?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder:&lt;/b&gt; Etwas Unerträgliches ist noch nicht passiert, Unverständliches dafür schon.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Neben deinem Hauptberuf als Solution Architect in der Firma UPPER Network GmbH arbeitest du nebenbei an der &lt;/em&gt;&lt;/b&gt;&lt;a href="http://www.campus02.at" target="_blank"&gt;&lt;em&gt;Fachhochschule Campus02 Graz&lt;/em&gt;&lt;/a&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;&lt;em&gt; als Fachhochschullektor für Java, C# und WPF. Wissen die Studenten von deinen starken Community-Aktivitäten?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder:&lt;/b&gt; Ich hänge es nicht groß an die Glocke, da die Lehre keine Werbeveranstaltung für meine Person ist. Diejenigen, die sich stärker mit den Themen C# und WPF beschäftigen, besuchen dann schon das eine oder andere Mal mein Blog oder eine meiner anderen Webseiten, wodurch natürlich auch entsprechende Gespräche entstehen.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Wenn du von Microsoft einen Wunsch frei hättest, speziell für die Community, was würdest du dann beanspruchen?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder: &lt;/b&gt;Wünsche an Microsoft hätte ich viele, die ich hier gar nicht alle aufzählen kann. Speziell für die Community denke ich, dass Microsoft Deutschland gute Arbeit leistet. Da ich jedoch aus Österreich komme, würde ich mir auch in unserem Land mehr Aktivität diesbezüglich wünschen. Es bedarf mehr Community-Veranstaltungen und eine verbesserte Kommunikation. Natürlich liegt dieser Punkt zu einem Großteil auch an der Community selbst, entsprechende Unterstützung wäre aber sehr willkommen.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Deine Community-Projekte handeln alle im Microsoft Bereich. Was genau zieht dich so an Microsoft an?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder: &lt;/b&gt;Anziehen ist der falsche Ausdruck. Ich war jahrelang auf der Linux/Java-Schiene tätig und sehe im Vergleich, dass vieles auf den Microsoft-Plattformen einfacher erledigt werden kann und man sich als Entwickler um viele Bereiche nicht kümmern muss. Entwickler sind ja von Grund auf faule Menschen und da spielt das schon eine Rolle. Ich möchte mich auf die wirklich wichtigen Aufgaben konzentrieren und da möchte ich natürlich, dass mich die angrenzende Umgebung entsprechend unterstützt. Das sehe ich auf der Microsoft-Plattform als besser gelöst als auf anderen. Meine persönliche Entwicklung hätte also durchaus auch in eine andere Richtung gehen können. Zum jetzigen Zeitpunkt ist es dann logisch, sich intensiv mit seinen gewählten Bereichen zu beschäftigen, darf jedoch den Blick über den Tellerrand nicht vergessen. Das ist unter anderem auch einer der Gründe, warum ich Java unterrichte und mich beispielsweise mit Ruby beschäftige.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Was ist derzeit dein aktuelles Projekt? Was erhoffst du dir dabei?&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder: &lt;/b&gt;Aktuell bereite ich mit Mario Meir-Huber gerade den &lt;a href="http://wien.netopenspace.de" target="_blank"&gt;.NET Open Space Vienna 2009&lt;/a&gt; vor. Damit bringen wir diese Veranstaltung auch nach Österreich und hoffen, dass es auch bei uns viele Teilnehmer und angeregte Diskussionen geben wird. Sonst kümmere ich mich hauptsächlich um &lt;a href="http://dotnet-gui.com" target="_blank"&gt;.NET GUI&lt;/a&gt;, habe aber auch noch ein paar neue Ideen für &lt;a href="http://wpf-blogger.com" target="_blank"&gt;WPF Blogger&lt;/a&gt; in meiner Schublade. Aktuell hat allerdings mein WPF-Buch Vorrang, von dem ich mir erhoffe, dass es schlussendlich meine Erwartungen und die der Leser erfüllen wird.&lt;/p&gt;  &lt;p&gt;Danach wird sich zeigen, wie es weitergeht. Grundsätzlich stehen schon noch ein paar Projektideen in meinem schlauen Büchlein, die auf Umsetzung warten.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;em&gt;Gregor Biswanger: Vielen Dank, Norbert, für dein Engagement! Auch ein großes Danke für die tollen Projekte von dir, die mir und allen anderen eine große Hilfe leisten.&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Norbert Eder:&lt;/b&gt; Keine Ursache. Ich bedanke mich für das Interview.&lt;/p&gt;</description><pubDate>Thu, 05 Nov 2009 04:11:28 -0500</pubDate><a10:rights type="text">Gregor Biswanger</a10:rights><a10:contributor><a10:name>Gregor Biswanger</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gregor Biswanger</dc:creator></item><item><guid isPermaLink="false">http://code-inside.de/blog/2009/11/05/howto-globalizationlocalization-mit-asp-net-mvc/</guid><link>http://feedproxy.google.com/~r/Code-insideBlog/~3/yCeXk8E0BEQ/</link><a10:author><a10:name>Code-Inside Blog</a10:name></a10:author><title>HowTo: Globalization/Localization mit ASP.NET MVC</title><description>Mehrsprachigkeit ist in vielen Anwendungen wichtig bzw. kann es sich als sehr wichtig herausstellen. Im ASP.NET WebForms Modell gibt es Mittel und Wege dies mit den Controls und Ressourcendatein zu machen. Doch auch in ASP.NET MVC gibt es kleine Helferlein, die jedenfalls die einfache deutsch/englisch/&amp;#8230; Mehrsprachigkeit abdecken. Bei andere Länder, wo z.B. von Rechts nach [...]&lt;script type="text/javascript"&gt;SHARETHIS.addEntry({ title: "HowTo: Globalization/Localization mit ASP.NET MVC", url: "http://code-inside.de/blog/2009/11/05/howto-globalizationlocalization-mit-asp-net-mvc/" });&lt;/script&gt;</description><pubDate>Wed, 04 Nov 2009 23:35:31 Z</pubDate><a10:rights type="text">Code-Inside Blog</a10:rights><a10:content type="html">&lt;p&gt;&lt;a href="http://code-inside.de/blog/wp-content/uploads/image867.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="144" alt="image" src="http://code-inside.de/blog/wp-content/uploads/image_thumb52.png" width="92" align="left" border="0"&gt;&lt;/a&gt;Mehrsprachigkeit ist in vielen Anwendungen wichtig bzw. kann es sich als sehr wichtig herausstellen. Im ASP.NET WebForms Modell gibt es Mittel und Wege dies mit den Controls und Ressourcendatein zu machen. Doch auch in ASP.NET MVC gibt es kleine Helferlein, die jedenfalls die einfache deutsch/englisch/&amp;#8230; Mehrsprachigkeit abdecken. Bei andere Länder, wo z.B. von Rechts nach Links gelesen wird, muss man sich wahrscheinlich doch noch ein Konzept überlegen &amp;#8211; das ist aber erst mal nicht der Fokus &lt;img src='http://code-inside.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;&lt;span id="more-2340"&gt;&lt;/span&gt;
&lt;p&gt;Die Grundimplemenation habe ich von &lt;a href="http://blog.eworldui.net/post/2008/10/ASPNET-MVC-Simplified-Localization-via-ViewEngines.aspx"&gt;diesem Blog genommen&lt;/a&gt; und erweitert. Irgendwo habe ich auch ein anderes Beispiel gefunden, wo ich auch Code genommen hatte, aber ich finde es jetzt leider nicht mehr. Unten findet ihr ein Download mit einer funktionstüchtigen Anwendung &lt;img src='http://code-inside.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wie ist die Lösung aufgebaut&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ressourcendatein:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Diese können unter &amp;#8220;App_GlobalResources&amp;#8221; oder &amp;#8220;App_LocalResources&amp;#8221; stehen&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Html Helper um auf diese Ressourcen zuzugreifen.&lt;/li&gt;
&lt;li&gt;Ein LanguageController, damit der User die Sprache manuell auch noch umschalten kann.&lt;/li&gt;
&lt;li&gt;Einen LanguageHelper der die Sprache entweder vom Browser erkennt oder die aus der Session ausliesst (wird im LanguageController gesetzt).&lt;/li&gt;
&lt;li&gt;Einen LocalizedFilter, damit die entsprechende Sprache auch für den Request genutzt wird.&lt;/li&gt;
&lt;li&gt;Es wird eine eigene ViewEngine verwendet welche von der normalen ViewEngine abgeleitet ist. Dies dient der Speicherung des ViewPaths im ViewData. Dies könnte man noch sicherlich anpassen und vielleicht in einen Filter auslagern, aber es funktioniert erstmal &lt;img src='http://code-inside.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Demo Solution:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code-inside.de/blog/wp-content/uploads/image868.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" height="465" alt="image" src="http://code-inside.de/blog/wp-content/uploads/image_thumb53.png" width="240" align="left" border="0"&gt;&lt;/a&gt; Wichtig sind die Sachen im Code Ordner. Dort versteckt sich z.B. der Filter, der Helper und die eigene ViewEngine. &lt;/p&gt;
&lt;p&gt;Im Standardfall wird die eingestellte Sprache vom Browser genommen. Will der User eine andere Sprache auswählen will, geht er auf den LanguageController. Dort wird dann die Sprache in die Session geschrieben. Ein Cookie wäre auch möglich &amp;#8211; habe ich aber nicht implementiert.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ganz wichtig:&lt;/strong&gt; Die ViewEngine muss auch wirklich in der Global.asax registriert werden!&lt;/p&gt;
&lt;p&gt;Auch wichtig: Alle Controller, bis auf den LanguageController, müssen mit dem LocalizedFilter dekoriert werden.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Anwendung in den Views&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Zugriff via:&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:e69e0f1c-6443-4ebf-b108-ff7148b25b04" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;pre name="code" class="c#"&gt;		Global resource : &amp;lt;%=Html.Resource("Strings, GlobalResourceKey") %&amp;gt;&amp;lt;br /&amp;gt;
		Local resource : &amp;lt;%=Html.Resource("LocalKey")%&amp;gt;&amp;lt;br /&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;In den Controllern die Sprache ermitteln:&lt;/strong&gt; &lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:bd558717-4e76-4da2-b97d-f730e75f1745" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;
&lt;pre name="code" class="c#"&gt;LanguageHelper.GetLanguage(); &lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Und was sieht man am Ende:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Deutsche Ansicht:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code-inside.de/blog/wp-content/uploads/image869.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="159" alt="image" src="http://code-inside.de/blog/wp-content/uploads/image_thumb54.png" width="354" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Englische Ansicht:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code-inside.de/blog/wp-content/uploads/image870.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="159" alt="image" src="http://code-inside.de/blog/wp-content/uploads/image_thumb55.png" width="361" border="0"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Vielleicht kann das der eine oder andere von euch gut gebrauchen &lt;img src='http://code-inside.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt;  Feedback ist wie immer willkommen &lt;img src='http://code-inside.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://code-inside.de/files/democode/mvclocal/mvclocal.zip"&gt;[ Download Democode ]&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sharethis.com/item?&amp;wp=2.8.4&amp;amp;publisher=3dc0f130-3c38-4ff7-addc-d62ab6c063ee&amp;amp;title=HowTo%3A+Globalization%2FLocalization+mit+ASP.NET+MVC&amp;amp;url=http%3A%2F%2Fcode-inside.de%2Fblog%2F2009%2F11%2F05%2Fhowto-globalizationlocalization-mit-asp-net-mvc%2F"&gt;ShareThis&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Code-insideBlog/~4/yCeXk8E0BEQ" height="1" width="1"/&gt;</a10:content><a10:contributor><a10:name>Code-Inside Blog</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Code-Inside Blog</dc:creator></item><item><guid isPermaLink="false">http://blog.silverlight-city.de/post.aspx?id=82fcef4d-e3f2-4619-9725-81db02c84256</guid><link>http://blog.silverlight-city.de/post/2009/11/04/Windows-7-zwitschert-bei-Twitter.aspx</link><a10:author><a10:name>Otto Fischer</a10:name></a10:author><title>Windows 7 zwitschert bei Twitter</title><description>&lt;p&gt;Microsoft startet MicrosoftHelps auf &lt;a href="http://twitter.com/MicrosoftHelps"&gt;Twitter&lt;/a&gt; f&amp;#252;r Windows 7. Finde ich eine Coole Idee. Bei einem ersten kurzen &amp;quot;Draufschauen&amp;quot; habe ich zwar keine tiefgr&amp;#252;ndigen technischen Anfragen/L&amp;#246;sungen gesehen - aber f&amp;#252;r den Otto-Normalo ist das schon ein sch&amp;#246;ner Service. (Vor allem in USA, dort zwitschert Twitter ja auch &amp;#252;ber Mobil). &lt;/p&gt;</description><pubDate>Wed, 04 Nov 2009 20:58:49 +0100</pubDate><a10:rights type="text">Otto Fischer</a10:rights><a10:contributor><a10:name>Otto Fischer</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Otto Fischer</dc:creator></item><item><guid isPermaLink="false">http://blog.silverlight-city.de/post.aspx?id=99ae43e9-c2b3-4c82-8a05-dcc61c6d5312</guid><link>http://blog.silverlight-city.de/post/2009/11/04/Arbeiten-fur-die-Gesundheit.aspx</link><a10:author><a10:name>Otto Fischer</a10:name></a10:author><title>Arbeiten für die Gesundheit</title><description>&lt;p&gt;Ich wusste es schon immer: vor dem Rechner zu sitzen ist gut f&amp;#252;r die Psyche und das Herz. Jedenfalls wenn Du den neuen Zusatz-Blaulicht-Monitor von Philips hast. &lt;/p&gt;  &lt;p&gt;Philips hat mit dem LightFrame 220X1SW ein 22-Zoll-Display pr&amp;#228;sentiert, das das Gem&amp;#252;t seiner User aufhellen soll. Blaues, vom Rahmen des TFTs abgestrahltes Licht geringer Intensit&amp;#228;t soll f&amp;#252;r entspannte Augen und eine bessere Stimmung sorgen. &lt;/p&gt;  &lt;p&gt;Lichttherapie ist (vor allem im Winter) gut f&amp;#252;r's Gem&amp;#252;t. Lange Spazierg&amp;#228;nge, fr&amp;#252;hes Aufstehen und Joggen auch. Ist halt nur viel anstrengender. &lt;/p&gt;</description><pubDate>Wed, 04 Nov 2009 20:52:07 +0100</pubDate><a10:rights type="text">Otto Fischer</a10:rights><a10:contributor><a10:name>Otto Fischer</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Otto Fischer</dc:creator></item><item><guid isPermaLink="false">http://blog.silverlight-city.de/post.aspx?id=452b30ed-d9f0-4de9-b6d4-68dbeca44ea6</guid><link>http://blog.silverlight-city.de/post/2009/11/04/25-GByte-bei-Microsoft-(skydrive)-kostenlos-speichern-und-mit-Skydrive-bequem-darauf-zugreifen.aspx</link><a10:author><a10:name>Otto Fischer</a10:name></a10:author><title>25 GByte bei Microsoft (skydrive) kostenlos speichern und mit Skydrive bequem darauf zugreifen</title><description>&lt;p&gt;Microsoft bietet 25 GByte kostenlosen Speicherplatz im Internet an (Skydrive). Der Umgang mit &lt;a href="http://skydrive.live.com/"&gt;Skydrive&lt;/a&gt; wird durch den&amp;#160; &lt;b&gt;&lt;a href="http://skydriveexplorer.com"&gt;SkyDrive Explorer&lt;/a&gt; vereinfacht. Zitat: &lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;View the structure and contents of folders in SkyDrive&amp;#8482;; &lt;/li&gt;    &lt;li&gt;View files information (type, size, creation date in GMT format); &lt;/li&gt;    &lt;li&gt;Create new root folders and subfolders; &lt;/li&gt;    &lt;li&gt;Copy files into the storage; &lt;/li&gt;    &lt;li&gt;Delete files and folders; &lt;/li&gt;    &lt;li&gt;Copy files from the storage to the computer; &lt;/li&gt;    &lt;li&gt;Copy folders and subfolders from the storage to the computer keeping their structure; &lt;/li&gt;    &lt;li&gt;Use Drag &amp;amp; Drop for files operations; &lt;/li&gt;    &lt;li&gt;Rename files and folders; &lt;/li&gt;    &lt;li&gt;Create links to SkyDrive&amp;#8482; folders on your computer; &lt;/li&gt;    &lt;li&gt;Copy URL of the selected object(s) to the Clipboard; &lt;img alt="New" src="http://skydriveexplorer.com/_images/new.png" border="0" /&gt;&lt;/li&gt;    &lt;li&gt;Automatic check for the latest version;&lt;img alt="New" src="http://skydriveexplorer.com/_images/new.png" border="0" /&gt;&lt;/li&gt;    &lt;li&gt;Bidirectional languages support.&lt;img alt="New" src="http://skydriveexplorer.com/_images/new.png" border="0" /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;ist &amp;#252;brigens auch kostenlos&lt;/p&gt;</description><pubDate>Wed, 04 Nov 2009 20:43:04 +0100</pubDate><a10:rights type="text">Otto Fischer</a10:rights><a10:contributor><a10:name>Otto Fischer</a10:name></a10:contributor><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Otto Fischer</dc:creator></item></channel></rss>
